(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
csinv-1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  unsigned int
       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
      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
      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
      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  }