(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
cmpsi-2.c
       1  /* { dg-require-effective-target int32plus } */
       2  #define F 140
       3  #define T 13
       4  
       5  feq (int x, int y)
       6  {
       7    if (x == y)
       8      return T;
       9    else
      10      return F;
      11  }
      12  
      13  fne (int x, int y)
      14  {
      15    if (x != y)
      16      return T;
      17    else
      18      return F;
      19  }
      20  
      21  flt (int x, int y)
      22  {
      23    if (x < y)
      24      return T;
      25    else
      26      return F;
      27  }
      28  
      29  fge (int x, int y)
      30  {
      31    if (x >= y)
      32      return T;
      33    else
      34      return F;
      35  }
      36  
      37  fgt (int x, int y)
      38  {
      39    if (x > y)
      40      return T;
      41    else
      42      return F;
      43  }
      44  
      45  fle (int x, int y)
      46  {
      47    if (x <= y)
      48      return T;
      49    else
      50      return F;
      51  }
      52  
      53  fltu (unsigned int x, unsigned int y)
      54  {
      55    if (x < y)
      56      return T;
      57    else
      58      return F;
      59  }
      60  
      61  fgeu (unsigned int x, unsigned int y)
      62  {
      63    if (x >= y)
      64      return T;
      65    else
      66      return F;
      67  }
      68  
      69  fgtu (unsigned int x, unsigned int y)
      70  {
      71    if (x > y)
      72      return T;
      73    else
      74      return F;
      75  }
      76  
      77  fleu (unsigned int x, unsigned int y)
      78  {
      79    if (x <= y)
      80      return T;
      81    else
      82      return F;
      83  }
      84  
      85  unsigned int args[] =
      86  {
      87    0L,
      88    1L,
      89    -1L,
      90    0x7fffffffL,
      91    0x80000000L,
      92    0x80000001L,
      93    0x1A3F2373L,
      94    0x93850E92L
      95  };
      96  
      97  int correct_results[] =
      98  {
      99    T, F, F, T, F, T, F, T, F, T,
     100    F, T, T, F, F, T, T, F, F, T,
     101    F, T, F, T, T, F, T, F, F, T,
     102    F, T, T, F, F, T, T, F, F, T,
     103    F, T, F, T, T, F, T, F, F, T,
     104    F, T, F, T, T, F, T, F, F, T,
     105    F, T, T, F, F, T, T, F, F, T,
     106    F, T, F, T, T, F, T, F, F, T,
     107    F, T, F, T, T, F, F, T, T, F,
     108    T, F, F, T, F, T, F, T, F, T,
     109    F, T, F, T, T, F, T, F, F, T,
     110    F, T, T, F, F, T, T, F, F, T,
     111    F, T, F, T, T, F, T, F, F, T,
     112    F, T, F, T, T, F, T, F, F, T,
     113    F, T, T, F, F, T, T, F, F, T,
     114    F, T, F, T, T, F, T, F, F, T,
     115    F, T, T, F, F, T, F, T, T, F,
     116    F, T, T, F, F, T, F, T, T, F,
     117    T, F, F, T, F, T, F, T, F, T,
     118    F, T, T, F, F, T, F, T, T, F,
     119    F, T, F, T, T, F, F, T, T, F,
     120    F, T, F, T, T, F, F, T, T, F,
     121    F, T, T, F, F, T, F, T, T, F,
     122    F, T, F, T, T, F, F, T, T, F,
     123    F, T, F, T, T, F, F, T, T, F,
     124    F, T, F, T, T, F, F, T, T, F,
     125    F, T, F, T, T, F, T, F, F, T,
     126    T, F, F, T, F, T, F, T, F, T,
     127    F, T, F, T, T, F, T, F, F, T,
     128    F, T, F, T, T, F, T, F, F, T,
     129    F, T, F, T, T, F, F, T, T, F,
     130    F, T, F, T, T, F, T, F, F, T,
     131    F, T, T, F, F, T, F, T, T, F,
     132    F, T, T, F, F, T, F, T, T, F,
     133    F, T, T, F, F, T, T, F, F, T,
     134    F, T, T, F, F, T, F, T, T, F,
     135    T, F, F, T, F, T, F, T, F, T,
     136    F, T, T, F, F, T, T, F, F, T,
     137    F, T, T, F, F, T, F, T, T, F,
     138    F, T, T, F, F, T, T, F, F, T,
     139    F, T, T, F, F, T, F, T, T, F,
     140    F, T, T, F, F, T, F, T, T, F,
     141    F, T, T, F, F, T, T, F, F, T,
     142    F, T, T, F, F, T, F, T, T, F,
     143    F, T, F, T, T, F, F, T, T, F,
     144    T, F, F, T, F, T, F, T, F, T,
     145    F, T, T, F, F, T, F, T, T, F,
     146    F, T, T, F, F, T, T, F, F, T,
     147    F, T, F, T, T, F, F, T, T, F,
     148    F, T, F, T, T, F, F, T, T, F,
     149    F, T, F, T, T, F, T, F, F, T,
     150    F, T, T, F, F, T, T, F, F, T,
     151    F, T, F, T, T, F, T, F, F, T,
     152    F, T, F, T, T, F, T, F, F, T,
     153    T, F, F, T, F, T, F, T, F, T,
     154    F, T, F, T, T, F, T, F, F, T,
     155    F, T, T, F, F, T, F, T, T, F,
     156    F, T, T, F, F, T, F, T, T, F,
     157    F, T, T, F, F, T, T, F, F, T,
     158    F, T, T, F, F, T, F, T, T, F,
     159    F, T, F, T, T, F, F, T, T, F,
     160    F, T, F, T, T, F, F, T, T, F,
     161    F, T, T, F, F, T, F, T, T, F,
     162    T, F, F, T, F, T, F, T, F, T
     163  };
     164  
     165  int
     166  main (void)
     167  {
     168    int i, j, *res = correct_results;
     169  
     170    for (i = 0; i < 8; i++)
     171      {
     172        unsigned int arg0 = args[i];
     173        for (j = 0; j < 8; j++)
     174  	{
     175  	  unsigned int arg1 = args[j];
     176  
     177  	  if (feq (arg0, arg1) != *res++)
     178  	    abort ();
     179  	  if (fne (arg0, arg1) != *res++)
     180  	    abort ();
     181  	  if (flt (arg0, arg1) != *res++)
     182  	    abort ();
     183  	  if (fge (arg0, arg1) != *res++)
     184  	    abort ();
     185  	  if (fgt (arg0, arg1) != *res++)
     186  	    abort ();
     187  	  if (fle (arg0, arg1) != *res++)
     188  	    abort ();
     189  	  if (fltu (arg0, arg1) != *res++)
     190  	    abort ();
     191  	  if (fgeu (arg0, arg1) != *res++)
     192  	    abort ();
     193  	  if (fgtu (arg0, arg1) != *res++)
     194  	    abort ();
     195  	  if (fleu (arg0, arg1) != *res++)
     196  	    abort ();
     197  	}
     198      }
     199    exit (0);
     200  }