152
|
1 /* { dg-require-effective-target arm_v8_1m_mve_ok } */
|
|
2 /* { dg-add-options arm_v8_1m_mve } */
|
|
3 /* { dg-additional-options "-O2" } */
|
|
4
|
|
5 #include "arm_mve.h"
|
|
6
|
|
7 int8x16_t a, aa;
|
|
8 int16x8_t b, bb;
|
|
9 int32x4_t c, cc;
|
|
10 int64x2_t d, dd;
|
|
11 uint8x16_t ua, uaa;
|
|
12 uint16x8_t ub, ubb;
|
|
13 uint32x4_t uc, ucc;
|
|
14 uint64x2_t ud, udd;
|
|
15
|
|
16 void
|
|
17 foo ()
|
|
18 {
|
|
19 a = vuninitializedq (aa);
|
|
20 b = vuninitializedq (bb);
|
|
21 c = vuninitializedq (cc);
|
|
22 d = vuninitializedq (dd);
|
|
23 ua = vuninitializedq (uaa);
|
|
24 ub = vuninitializedq (ubb);
|
|
25 uc = vuninitializedq (ucc);
|
|
26 ud = vuninitializedq (udd);
|
|
27 }
|
|
28
|
|
29 /* { dg-final { scan-assembler-times "vstrb.8" 2 } } */
|
|
30 /* { dg-final { scan-assembler-times "vstrh.16" 2 } } */
|
|
31 /* { dg-final { scan-assembler-times "vstrw.32" 2 } } */
|
|
32 /* { dg-final { scan-assembler-times "vstr.64" 2 } } */
|
|
33 /* { dg-final { scan-assembler-not "__ARM_undef" } } */
|