(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
rtl/
x86_64/
different-structs.c
       1  /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
       2  
       3  extern double sqrt(double x);
       4  
       5  struct foo
       6  {
       7    double x;
       8    double y;
       9  };
      10  
      11  struct bar
      12  {
      13    double x;
      14    double y;
      15  };
      16  
      17  double __RTL test (struct foo *f, const struct bar *b)
      18  {
      19  #if 0
      20    /* Result of "expand" on this C code, compiled for x86_64 with -Os.  */
      21    f->x += b->x;
      22    f->y += b->y;
      23    return sqrt (f->x * f->x + f->y * f->y);
      24  #endif
      25  (function "test"
      26    (insn-chain
      27      (cnote 1 NOTE_INSN_DELETED)
      28      (block 2
      29        (edge-from entry (flags "FALLTHRU"))
      30        (cnote 5 [bb 2] NOTE_INSN_BASIC_BLOCK)
      31        (cinsn 2 (set (reg/v/f:DI <10> [ f ])
      32                      (reg:DI di [ f ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":18)
      33        (cinsn 3 (set (reg/v/f:DI <11> [ b ])
      34                      (reg:DI si [ b ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":18)
      35        (cnote 4 NOTE_INSN_FUNCTION_BEG)
      36        (cinsn 7 (set (reg:DF <12>)
      37                      (mem:DF (reg/v/f:DI <10> [ f ]) [2 f_11(D)->x+0 S8 A64])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":21)
      38        (cinsn 8 (set (reg:DF <2> [ _3 ])
      39                      (plus:DF (reg:DF <12>)
      40                          (mem:DF (reg/v/f:DI <11> [ b ]) [2 b_12(D)->x+0 S8 A64]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":21)
      41        (cinsn 9 (set (mem:DF (reg/v/f:DI <10> [ f ]) [2 f_11(D)->x+0 S8 A64])
      42                      (reg:DF <2> [ _3 ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":21)
      43        (cinsn 10 (set (reg:DF <13>)
      44                      (mem:DF (plus:DI (reg/v/f:DI <10> [ f ])
      45                              (const_int 8)) [2 f_11(D)->y+0 S8 A64])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":22)
      46        (cinsn 11 (set (reg:DF <5> [ _6 ])
      47                      (plus:DF (reg:DF <13>)
      48                          (mem:DF (plus:DI (reg/v/f:DI <11> [ b ])
      49                                  (const_int 8)) [2 b_12(D)->y+0 S8 A64]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":22)
      50        (cinsn 12 (set (mem:DF (plus:DI (reg/v/f:DI <10> [ f ])
      51                              (const_int 8)) [2 f_11(D)->y+0 S8 A64])
      52                      (reg:DF <5> [ _6 ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":22)
      53        (cinsn 13 (set (reg:DF <14>)
      54                      (mult:DF (reg:DF <2> [ _3 ])
      55                          (reg:DF <2> [ _3 ]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23)
      56        (cinsn 14 (set (reg:DF <15>)
      57                      (mult:DF (reg:DF <5> [ _6 ])
      58                          (reg:DF <5> [ _6 ]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23)
      59        (cinsn 15 (set (reg:DF <16>)
      60                      (plus:DF (reg:DF <14>)
      61                          (reg:DF <15>))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23)
      62        (cinsn 16 (set (reg:DF xmm0)
      63                      (reg:DF <16>)) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23)
      64        (ccall_insn/j 17 (set (reg:DF xmm0)
      65                      (call (mem:QI (symbol_ref:DI ("sqrt") [flags 0x41]  <function_decl 0x7fa24e331d00 sqrt>) [0 __builtin_sqrt S1 A8])
      66                          (const_int 0))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23
      67                   (expr_list:REG_CALL_DECL (symbol_ref:DI ("sqrt") [flags 0x41]  <function_decl 0x7fa24e331d00 sqrt>)
      68                      (expr_list:REG_EH_REGION (const_int 0)))
      69                  (expr_list:DF (use (reg:DF xmm0))))
      70        (edge-to exit (flags "ABNORMAL | SIBCALL"))
      71      ) ;; block 2
      72      (cbarrier 18)
      73    ) ;; insn-chain
      74    (crtl
      75      (return_rtx 
      76        (reg/i:DF xmm0)
      77      ) ;; return_rtx
      78    ) ;; crtl
      79  ) ;; function "test"
      80  
      81  }