(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr81281-1.c
       1  /* PR sanitizer/81281 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fdump-tree-optimized" } */
       4  /* { dg-final { scan-tree-dump-not "p_\[0-9]*\\(D\\)" "optimized" } } */
       5  
       6  long long
       7  f1 (int p, int a, int b)
       8  {
       9    int c = p + 1;
      10    int d = a + 2;
      11    int e = b + 3;
      12    long long f = p + a;
      13    long long g = p + b;
      14    return f - g;
      15  }
      16  
      17  long long
      18  f2 (int p, int a, int b)
      19  {
      20    int c = a + 1;
      21    int d = p + 2;
      22    int e = b + 3;
      23    long long f = p + a;
      24    long long g = p + b;
      25    return f - g;
      26  }
      27  
      28  long long
      29  f3 (int p, int a, int b)
      30  {
      31    int c = b + 1;
      32    int d = p + 2;
      33    int e = a + 3;
      34    long long f = p + a;
      35    long long g = p + b;
      36    return f - g;
      37  }
      38  
      39  signed char
      40  f4 (int p, int a, int b)
      41  {
      42    int c = p + 1;
      43    int d = a + 2;
      44    int e = b + 3;
      45    signed char f = p + a;
      46    signed char g = p + b;
      47    return f - g;
      48  }
      49  
      50  signed char
      51  f5 (int p, int a, int b)
      52  {
      53    int c = a + 1;
      54    int d = p + 2;
      55    int e = b + 3;
      56    signed char f = p + a;
      57    signed char g = p + b;
      58    return f - g;
      59  }
      60  
      61  signed char
      62  f6 (int p, int a, int b)
      63  {
      64    int c = b + 1;
      65    int d = p + 2;
      66    int e = a + 3;
      67    signed char f = p + a;
      68    signed char g = p + b;
      69    return f - g;
      70  }
      71  
      72  long long
      73  f7 (int p, int a)
      74  {
      75    int c = p + 1;
      76    int d = a + 2;
      77    long long f = p + a;
      78    long long g = p;
      79    return f - g;
      80  }
      81  
      82  long long
      83  f8 (int p, int a)
      84  {
      85    int c = a + 1;
      86    int d = p + 2;
      87    long long f = p + a;
      88    long long g = p;
      89    return f - g;
      90  }
      91  
      92  signed char
      93  f9 (int p, int a)
      94  {
      95    int c = p + 1;
      96    int d = a + 2;
      97    signed char f = p + a;
      98    signed char g = p;
      99    return f - g;
     100  }
     101  
     102  signed char
     103  f10 (int p, int a)
     104  {
     105    int c = a + 1;
     106    int d = p + 2;
     107    signed char f = p + a;
     108    signed char g = p;
     109    return f - g;
     110  }
     111  
     112  long long
     113  f11 (int p, int a)
     114  {
     115    int c = p + 1;
     116    int d = a + 2;
     117    long long f = p;
     118    long long g = p + a;
     119    return f - g;
     120  }
     121  
     122  long long
     123  f12 (int p, int a)
     124  {
     125    int c = a + 1;
     126    int d = p + 2;
     127    long long f = p;
     128    long long g = p + a;
     129    return f - g;
     130  }
     131  
     132  signed char
     133  f13 (int p, int a)
     134  {
     135    int c = p + 1;
     136    int d = a + 2;
     137    signed char f = p;
     138    signed char g = p + a;
     139    return f - g;
     140  }
     141  
     142  signed char
     143  f14 (int p, int a)
     144  {
     145    int c = a + 1;
     146    int d = p + 2;
     147    signed char f = p;
     148    signed char g = p + a;
     149    return f - g;
     150  }