152
|
1 /* { dg-require-effective-target arm_v8_1m_mve_ok } */
|
|
2 /* { dg-add-options arm_v8_1m_mve } */
|
|
3 /* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } {""} } */
|
|
4
|
|
5 #include "arm_mve.h"
|
|
6
|
|
7 uint8x16_t
|
|
8 foo8 (uint8x16_t value)
|
|
9 {
|
|
10 uint8x16_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 uint16x8_t
|
|
19 foo16 (uint16x8_t value)
|
|
20 {
|
|
21 uint16x8_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 uint32x4_t
|
|
30 foo32 (uint32x4_t value)
|
|
31 {
|
|
32 uint32x4_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 uint64x2_t
|
|
41 foo64 (uint64x2_t value)
|
|
42 {
|
|
43 uint64x2_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.*" } } */
|