(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
guality/
pr78726.c
       1  /* PR tree-optimization/78726 */
       2  /* { dg-do run } */
       3  /* { dg-options "-g" } */
       4  
       5  #include "../nop.h"
       6  
       7  unsigned char b = 36, c = 173;
       8  unsigned int d;
       9  
      10  __attribute__((noinline, noclone)) void
      11  foo (void)
      12  {
      13    unsigned a = ~b;
      14    unsigned d1 = a * c;		/* { dg-final { gdb-test 21 "d1" "~36U * 173" } } */
      15    unsigned d2 = d1 * c;		/* { dg-final { gdb-test 21 "d2" "~36U * 173 * 173" } } */
      16    unsigned d3 = 1023094746 * a;	/* { dg-final { gdb-test 21 "d3" "~36U * 1023094746" } } */
      17    d = d2 + d3;
      18    unsigned d4 = d1 * 2;     	/* { dg-final { gdb-test .+3 "d4" "~36U * 173 * 2" } } */
      19    unsigned d5 = d2 * 2;		/* { dg-final { gdb-test .+2 "d5" "~36U * 173 * 173 * 2" } } */
      20    unsigned d6 = d3 * 2;		/* { dg-final { gdb-test .+1 "d6" "~36U * 1023094746 * 2" } } */
      21    asm (NOP : : : "memory");
      22  }
      23  
      24  int
      25  main ()
      26  {
      27    asm volatile ("" : : "g" (&b), "g" (&c) : "memory");
      28    foo ();
      29    return 0;
      30  }