1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 4 #include <arm_sve.h> 5 6 /* { dg-final { scan-assembler-not {\twhilele\t} } } */ 7 /* { dg-final { scan-assembler-not {\twhilelt\t} } } */ 8 /* { dg-final { scan-assembler-not {\tptrue\t} } } */ 9 10 void test1(svbool_t * ptr)11test1 (svbool_t *ptr) 12 { 13 *ptr = svwhilele_b32_s32 (-8, -9); 14 } 15 16 void test2(svbool_t * ptr)17test2 (svbool_t *ptr) 18 { 19 *ptr = svwhilele_b16_s64 (50, -1); 20 } 21 22 void test3(svbool_t * ptr)23test3 (svbool_t *ptr) 24 { 25 *ptr = svwhilele_b16_s32 (0x7ffffffb, 0x80000000); 26 } 27 28 void test4(svbool_t * ptr)29test4 (svbool_t *ptr) 30 { 31 *ptr = svwhilele_b8_s64 (svcntb (), 15); 32 } 33 34 void test5(svbool_t * ptr)35test5 (svbool_t *ptr) 36 { 37 *ptr = svwhilele_b8_s64 (svcntb (), svcntw ()); 38 } 39 40 /* { dg-final { scan-assembler-times {\tpfalse\tp[0-7]\.b\n} 5 } } */ 41