1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 unsigned int
test_csinv32_condasn1(unsigned int w0,unsigned int w1,unsigned int w2,unsigned int w3)5 test_csinv32_condasn1(unsigned int w0,
6 		      unsigned int w1,
7 		      unsigned int w2,
8 		      unsigned int w3) {
9   unsigned int w4;
10 
11   /* { dg-final { scan-assembler "csinv\tw\[0-9\]*.*ne" } } */
12   w4 = (w0 == w1) ? ~w3 : w2;
13   return w4;
14 }
15 
16 unsigned int
test_csinv32_condasn2(unsigned int w0,unsigned int w1,unsigned int w2,unsigned int w3)17 test_csinv32_condasn2(unsigned int w0,
18 		      unsigned int w1,
19 		      unsigned int w2,
20 		      unsigned int w3) {
21   unsigned int w4;
22 
23   /* { dg-final { scan-assembler "csinv\tw\[0-9\]*.*eq" } } */
24   w4 = (w0 == w1) ? w3 : ~w2;
25   return w4;
26 }
27 
28 unsigned long long
test_csinv64_condasn1(unsigned long long x0,unsigned long long x1,unsigned long long x2,unsigned long long x3)29 test_csinv64_condasn1(unsigned long long x0,
30 		      unsigned long long x1,
31 		      unsigned long long x2,
32 		      unsigned long long x3) {
33   unsigned long long x4;
34 
35   /* { dg-final { scan-assembler "csinv\tx\[0-9\]*.*ne" } } */
36   x4 = (x0 == x1) ? ~x3 : x2;
37   return x4;
38 }
39 
40 unsigned long long
test_csinv64_condasn2(unsigned long long x0,unsigned long long x1,unsigned long long x2,unsigned long long x3)41 test_csinv64_condasn2(unsigned long long x0,
42 		      unsigned long long x1,
43 		      unsigned long long x2,
44 		      unsigned long long x3) {
45   unsigned long long x4;
46 
47   /* { dg-final { scan-assembler "csinv\tx\[0-9\]*.*eq" } } */
48   x4 = (x0 == x1) ? x3 : ~x2;
49   return x4;
50 }
51