]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int2.c
[ARM][GCC][1/x]: MVE ACLE intrinsics framework patch.
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / arm / mve / intrinsics / mve_vector_int2.c
1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_v8_1m_mve_ok } */
3 /* { dg-add-options arm_v8_1m_mve } */
4
5 #include "arm_mve.h"
6
7 int8x16_t
8 foo8 ()
9 {
10 int8x16_t b = {1, 2, 3, 4};
11 return b;
12 }
13
14 /* { dg-final { scan-assembler "vmov\\tq\[0-7\], q\[0-7\]" } } */
15 /* { dg-final { scan-assembler "vstrb.*" } } */
16 /* { dg-final { scan-assembler "vldr.64.*" } } */
17
18 int16x8_t
19 foo16 (int16x8_t value)
20 {
21 int16x8_t b = {1, 2, 3};
22 return b;
23 }
24
25 /* { dg-final { scan-assembler "vmov\\tq\[0-7\], q\[0-7\]" } } */
26 /* { dg-final { scan-assembler "vstrb.*" } } */
27 /* { dg-final { scan-assembler "vldr.64.*" } } */
28
29 int32x4_t
30 foo32 (int32x4_t value)
31 {
32 int32x4_t b = {1, 2};
33 return b;
34 }
35
36 /* { dg-final { scan-assembler "vmov\\tq\[0-7\], q\[0-7\]" } } */
37 /* { dg-final { scan-assembler "vstrb.*" } } */
38 /* { dg-final { scan-assembler "vldr.64.*" } } */
39
40 int64x2_t
41 foo64 (int64x2_t value)
42 {
43 int64x2_t b = {1};
44 return b;
45 }
46
47 /* { dg-final { scan-assembler "vmov\\tq\[0-7\], q\[0-7\]" } } */
48 /* { dg-final { scan-assembler "vstrb.*" } } */
49 /* { dg-final { scan-assembler "vldr.64.*" } } */