Viewing file: different-structs.c (3.63 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
extern double sqrt(double x);
struct foo { double x; double y; };
struct bar { double x; double y; };
double __RTL test (struct foo *f, const struct bar *b) { #if 0 /* Result of "expand" on this C code, compiled for x86_64 with -Os. */ f->x += b->x; f->y += b->y; return sqrt (f->x * f->x + f->y * f->y); #endif (function "test" (insn-chain (cnote 1 NOTE_INSN_DELETED) (block 2 (edge-from entry (flags "FALLTHRU")) (cnote 5 [bb 2] NOTE_INSN_BASIC_BLOCK) (cinsn 2 (set (reg/v/f:DI <10> [ f ]) (reg:DI di [ f ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":18) (cinsn 3 (set (reg/v/f:DI <11> [ b ]) (reg:DI si [ b ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":18) (cnote 4 NOTE_INSN_FUNCTION_BEG) (cinsn 7 (set (reg:DF <12>) (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) (cinsn 8 (set (reg:DF <2> [ _3 ]) (plus:DF (reg:DF <12>) (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) (cinsn 9 (set (mem:DF (reg/v/f:DI <10> [ f ]) [2 f_11(D)->x+0 S8 A64]) (reg:DF <2> [ _3 ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":21) (cinsn 10 (set (reg:DF <13>) (mem:DF (plus:DI (reg/v/f:DI <10> [ f ]) (const_int 8)) [2 f_11(D)->y+0 S8 A64])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":22) (cinsn 11 (set (reg:DF <5> [ _6 ]) (plus:DF (reg:DF <13>) (mem:DF (plus:DI (reg/v/f:DI <11> [ b ]) (const_int 8)) [2 b_12(D)->y+0 S8 A64]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":22) (cinsn 12 (set (mem:DF (plus:DI (reg/v/f:DI <10> [ f ]) (const_int 8)) [2 f_11(D)->y+0 S8 A64]) (reg:DF <5> [ _6 ])) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":22) (cinsn 13 (set (reg:DF <14>) (mult:DF (reg:DF <2> [ _3 ]) (reg:DF <2> [ _3 ]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23) (cinsn 14 (set (reg:DF <15>) (mult:DF (reg:DF <5> [ _6 ]) (reg:DF <5> [ _6 ]))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23) (cinsn 15 (set (reg:DF <16>) (plus:DF (reg:DF <14>) (reg:DF <15>))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23) (cinsn 16 (set (reg:DF xmm0) (reg:DF <16>)) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23) (ccall_insn/j 17 (set (reg:DF xmm0) (call (mem:QI (symbol_ref:DI ("sqrt") [flags 0x41] <function_decl 0x7fa24e331d00 sqrt>) [0 __builtin_sqrt S1 A8]) (const_int 0))) "../../src/gcc/testsuite/gcc.dg/rtl/x86_64/different-structs.c":23 (expr_list:REG_CALL_DECL (symbol_ref:DI ("sqrt") [flags 0x41] <function_decl 0x7fa24e331d00 sqrt>) (expr_list:REG_EH_REGION (const_int 0))) (expr_list:DF (use (reg:DF xmm0)))) (edge-to exit (flags "ABNORMAL | SIBCALL")) ) ;; block 2 (cbarrier 18) ) ;; insn-chain (crtl (return_rtx (reg/i:DF xmm0) ) ;; return_rtx ) ;; crtl ) ;; function "test"
}
|