/* { dg-do compile } */ /* { dg-require-effective-target arm_arch_v8_1m_main_ok } */ /* { dg-options "-O2" } */ /* { dg-add-options arm_arch_v8_1m_main } */ int test_csneg32_condasn1(int w0, int w1, int w2, int w3) { int w4; /* { dg-final { scan-assembler "csneg\tr\[0-9\]*.*ne" } } */ w4 = (w0 == w1) ? -w2 : w3; return w4; } int test_csneg32_condasn2(int w0, int w1, int w2, int w3) { int w4; /* { dg-final { scan-assembler "csneg\tr\[0-9\]*.*eq" } } */ w4 = (w0 == w1) ? w3 : -w2; return w4; } unsigned long long test_csneg_uxtw (unsigned int a, unsigned int b, unsigned int c) { unsigned int val; /* { dg-final { scan-assembler "csneg\tr\[0-9\]*.*ne" } } */ val = a ? b : -c; return val; }