Add "__RTL" to cc1
[official-gcc.git] / gcc / testsuite / gcc.dg / rtl / x86_64 / test-rtl.c
blob4496868c5129f355fd0f4b22ec41e72595a0d161
1 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
3 /* Test of embedding RTL dump in a C function, tagged with "__RTL".
5 This is a dump of test.c from immediately after "expand", for x86_64. */
7 int __RTL test_1 (int i, int j, int k)
9 /*
10 if (i < j)
11 return k + 4;
12 else
13 return -k;
15 (function "test_1"
16 (insn-chain
17 (cnote 1 NOTE_INSN_DELETED)
18 (block 2
19 (edge-from entry (flags "FALLTHRU"))
20 (cnote 6 [bb 2] NOTE_INSN_BASIC_BLOCK)
21 (cinsn 2 (set (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
22 (const_int -4)) [1 i+0 S4 A32])
23 (reg:SI di [ i ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
24 (cinsn 3 (set (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
25 (const_int -8)) [1 j+0 S4 A32])
26 (reg:SI si [ j ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
27 (cinsn 4 (set (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
28 (const_int -12)) [1 k+0 S4 A32])
29 (reg:SI dx [ k ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
30 (cnote 5 NOTE_INSN_FUNCTION_BEG)
31 (cinsn 8 (set (reg:SI <2>)
32 (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
33 (const_int -4)) [1 i+0 S4 A32])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":3)
34 (cinsn 9 (set (reg:CCGC flags)
35 (compare:CCGC (reg:SI <2>)
36 (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
37 (const_int -8)) [1 j+0 S4 A32]))) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":3)
38 (cjump_insn 10 (set (pc)
39 (if_then_else (ge (reg:CCGC flags)
40 (const_int 0))
41 (label_ref 16)
42 (pc))) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":3)
43 (edge-to 4 (flags "FALLTHRU"))
44 (edge-to 5)
45 ) ;; block 2
46 (block 4
47 (edge-from 2 (flags "FALLTHRU"))
48 (cnote 11 [bb 4] NOTE_INSN_BASIC_BLOCK)
49 (cinsn 12 (set (reg:SI <3>)
50 (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
51 (const_int -12)) [1 k+0 S4 A32])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":4)
52 (cinsn 13 (parallel [
53 (set (reg:SI <0> [ _1 ])
54 (plus:SI (reg:SI <3>)
55 (const_int 4)))
56 (clobber (reg:CC flags))
57 ]) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":4
58 (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
59 (const_int -12)) [1 k+0 S4 A32])
60 (const_int 4))))
61 (cjump_insn 14 (set (pc)
62 (label_ref 20)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":4)
63 (edge-to 6)
64 ) ;; block 4
65 (cbarrier 15)
66 (block 5
67 (edge-from 2)
68 (clabel 16 2)
69 (cnote 17 [bb 5] NOTE_INSN_BASIC_BLOCK)
70 (cinsn 18 (set (reg:SI <4>)
71 (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
72 (const_int -12)) [1 k+0 S4 A32])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":6)
73 (cinsn 19 (parallel [
74 (set (reg:SI <0> [ _1 ])
75 (neg:SI (reg:SI <4>)))
76 (clobber (reg:CC flags))
77 ]) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":6
78 (expr_list:REG_EQUAL (neg:SI (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
79 (const_int -12)) [1 k+0 S4 A32]))))
80 (edge-to 6 (flags "FALLTHRU"))
81 ) ;; block 5
82 (block 6
83 (edge-from 4)
84 (edge-from 5 (flags "FALLTHRU"))
85 (clabel 20 3)
86 (cnote 21 [bb 6] NOTE_INSN_BASIC_BLOCK)
87 (cinsn 22 (set (reg:SI <1> [ <retval> ])
88 (reg:SI <0> [ _1 ])))
89 (cinsn 26 (set (reg/i:SI ax)
90 (reg:SI <1> [ <retval> ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":7)
91 (cinsn 27 (use (reg/i:SI ax)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":7)
92 (edge-to exit (flags "FALLTHRU"))
93 ) ;; block 6
94 ) ;; insn-chain
95 (crtl
96 (return_rtx
97 (reg/i:SI ax)
98 ) ;; return_rtx
99 ) ;; crtl
100 ) ;; function "test_1"