1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_arch_v8_1m_main_ok } */
3 /* { dg-options "-O2" } */
4 /* { dg-add-options arm_arch_v8_1m_main } */
5
6 int
7 test_csinv32_condasn1(int w0, int w1, int w2, int w3)
8 {
9 int w4;
10
11 /* { dg-final { scan-assembler "csinv\tr\[0-9\]*.*ne" } } */
12 w4 = (w0 == w1) ? ~w2 : w3;
13 return w4;
14 }
15
16 int
17 test_csinv32_condasn2(int w0, int w1, int w2, int w3)
18 {
19 int w4;
20
21 /* { dg-final { scan-assembler "csinv\tr\[0-9\]*.*eq" } } */
22 w4 = (w0 == w1) ? w3 : ~w2;
23 return w4;
24 }