Add "__RTL" to cc1
[official-gcc.git] / gcc / testsuite / gcc.dg / rtl / x86_64 / different-structs.c
blob90efaa78cd0d68cd9acbab7f87e3ea28c65587c4
1 /* { dg-do compile { target x86_64-*-* } } */
3 extern double sqrt(double x);
5 struct foo
7 double x;
8 double y;
9 };
11 struct bar
13 double x;
14 double y;
17 double __RTL test (struct foo *f, const struct bar *b)
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"