(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr81294-2.c
       1  /* PR target/81294 */
       2  /* { dg-do run { target { ! ia32 } } } */
       3  /* { dg-options "-O2" } */
       4  
       5  #include <x86intrin.h>
       6  
       7  int main ()
       8  {
       9    volatile unsigned char c;
      10    unsigned long long x;
      11    volatile unsigned long long y, sum_ref;
      12  
      13    c = 0;
      14    x = 1LL;
      15    y = 0LL;
      16    sum_ref = 0x0LL;
      17  
      18    /* X = 0x0000000000000001, Y = 0x0000000000000000, C = 0.  */
      19    c = _subborrow_u64 (c, y, x, &x);
      20    /* X = 0xFFFFFFFFFFFFFFFF, Y = 0x0000000000000000, C = 1.  */
      21    c = _subborrow_u64 (c, y, x, &x);
      22    /* X = 0x0000000000000000, Y = 0x0000000000000000, C = 1.  */
      23  
      24    if (x != sum_ref)
      25      __builtin_abort ();
      26  
      27    return 0;
      28  }