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 foo()17foo () 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" 4 } } */ 32 /* { dg-final { scan-assembler-not "__ARM_undef" } } */ 33