annotate gcc/testsuite/gcc.dg/rtl/x86_64/final.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2 /* { dg-options "-fdwarf2-cfi-asm -fdump-rtl-final" } */
111
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 /* Lightly-modified dump of test.c.304r.dwarf2 for x86_64 target,
kono
parents:
diff changeset
5 with various NOTE_INSN_CFI deleted by hand for now. */
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 int __RTL (startwith ("final")) test_1 (int i, int j, int k)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 (function "test_1"
kono
parents:
diff changeset
10 (param "i"
kono
parents:
diff changeset
11 (DECL_RTL (mem/c:SI (plus:DI (reg/f:DI frame)
kono
parents:
diff changeset
12 (const_int -4)) [1 i+0 S4 A32]))
kono
parents:
diff changeset
13 (DECL_RTL_INCOMING (reg:SI di [ i ])))
kono
parents:
diff changeset
14 (param "j"
kono
parents:
diff changeset
15 (DECL_RTL (mem/c:SI (plus:DI (reg/f:DI frame)
kono
parents:
diff changeset
16 (const_int -8)) [1 j+0 S4 A32]))
kono
parents:
diff changeset
17 (DECL_RTL_INCOMING (reg:SI si [ j ])))
kono
parents:
diff changeset
18 (param "k"
kono
parents:
diff changeset
19 (DECL_RTL (mem/c:SI (plus:DI (reg/f:DI frame)
kono
parents:
diff changeset
20 (const_int -12)) [1 k+0 S4 A32]))
kono
parents:
diff changeset
21 (DECL_RTL_INCOMING (reg:SI dx [ k ])))
kono
parents:
diff changeset
22 (insn-chain
kono
parents:
diff changeset
23 (cnote 1 NOTE_INSN_DELETED)
kono
parents:
diff changeset
24 (block 2
kono
parents:
diff changeset
25 (edge-from entry (flags "FALLTHRU"))
kono
parents:
diff changeset
26 (cnote 6 [bb 2] NOTE_INSN_BASIC_BLOCK)
kono
parents:
diff changeset
27 (cinsn/f 32 (set (mem:DI (pre_dec:DI (reg/f:DI sp)) [0 S8 A8])
kono
parents:
diff changeset
28 (reg/f:DI bp)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
kono
parents:
diff changeset
29 (cinsn/f 33 (set (reg/f:DI bp)
kono
parents:
diff changeset
30 (reg/f:DI sp)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
kono
parents:
diff changeset
31 (cinsn 34 (set (mem/v:BLK (0|scratch:DI) [0 A8])
kono
parents:
diff changeset
32 (unspec:BLK [
kono
parents:
diff changeset
33 (mem/v:BLK (reuse_rtx 0) [0 A8])
kono
parents:
diff changeset
34 ] UNSPEC_MEMORY_BLOCKAGE)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
kono
parents:
diff changeset
35 (cnote 35 NOTE_INSN_PROLOGUE_END)
kono
parents:
diff changeset
36 (cinsn 2 (set (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
37 (const_int -4)) [1 i+0 S4 A32])
kono
parents:
diff changeset
38 (reg:SI di [ i ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
kono
parents:
diff changeset
39 (cinsn 3 (set (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
40 (const_int -8)) [1 j+0 S4 A32])
kono
parents:
diff changeset
41 (reg:SI si [ j ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
kono
parents:
diff changeset
42 (cinsn 4 (set (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
43 (const_int -12)) [1 k+0 S4 A32])
kono
parents:
diff changeset
44 (reg:SI dx [ k ])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":2)
kono
parents:
diff changeset
45 (cnote 5 NOTE_INSN_FUNCTION_BEG)
kono
parents:
diff changeset
46 (cinsn 8 (set (reg:SI ax [89])
kono
parents:
diff changeset
47 (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
48 (const_int -4)) [1 i+0 S4 A32])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":3)
kono
parents:
diff changeset
49 (cinsn 9 (set (reg:CCGC flags)
kono
parents:
diff changeset
50 (compare:CCGC (reg:SI ax [89])
kono
parents:
diff changeset
51 (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
52 (const_int -8)) [1 j+0 S4 A32]))) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":3)
kono
parents:
diff changeset
53 (cjump_insn 10 (set (pc)
kono
parents:
diff changeset
54 (if_then_else (ge (reg:CCGC flags)
kono
parents:
diff changeset
55 (const_int 0))
kono
parents:
diff changeset
56 (label_ref 16)
kono
parents:
diff changeset
57 (pc))) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":3)
kono
parents:
diff changeset
58 (edge-to 3 (flags "FALLTHRU"))
kono
parents:
diff changeset
59 (edge-to 4)
kono
parents:
diff changeset
60 ) ;; block 2
kono
parents:
diff changeset
61 (block 3
kono
parents:
diff changeset
62 (edge-from 2 (flags "FALLTHRU"))
kono
parents:
diff changeset
63 (cnote 11 [bb 3] NOTE_INSN_BASIC_BLOCK)
kono
parents:
diff changeset
64 (cinsn 12 (set (reg:SI ax [90])
kono
parents:
diff changeset
65 (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
66 (const_int -12)) [1 k+0 S4 A32])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":4)
kono
parents:
diff changeset
67 (cinsn 13 (parallel [
kono
parents:
diff changeset
68 (set (reg:SI ax [orig:87 _1 ] [87])
kono
parents:
diff changeset
69 (plus:SI (reg:SI ax [90])
kono
parents:
diff changeset
70 (const_int 4)))
kono
parents:
diff changeset
71 (clobber (reg:CC flags))
kono
parents:
diff changeset
72 ]) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":4
kono
parents:
diff changeset
73 (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI frame)
kono
parents:
diff changeset
74 (const_int -12)) [1 k+0 S4 A32])
kono
parents:
diff changeset
75 (const_int 4))))
kono
parents:
diff changeset
76 (cjump_insn 29 (set (pc)
kono
parents:
diff changeset
77 (label_ref 20)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":4)
kono
parents:
diff changeset
78 (edge-to 5)
kono
parents:
diff changeset
79 ) ;; block 3
kono
parents:
diff changeset
80 (cbarrier 30)
kono
parents:
diff changeset
81 (block 4
kono
parents:
diff changeset
82 (edge-from 2)
kono
parents:
diff changeset
83 (clabel 16 2)
kono
parents:
diff changeset
84 (cnote 17 [bb 4] NOTE_INSN_BASIC_BLOCK)
kono
parents:
diff changeset
85 (cinsn 18 (set (reg:SI ax [91])
kono
parents:
diff changeset
86 (mem/c:SI (plus:DI (reg/f:DI bp)
kono
parents:
diff changeset
87 (const_int -12)) [1 k+0 S4 A32])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":6)
kono
parents:
diff changeset
88 (cinsn 19 (parallel [
kono
parents:
diff changeset
89 (set (reg:SI ax [orig:87 _1 ] [87])
kono
parents:
diff changeset
90 (neg:SI (reg:SI ax [91])))
kono
parents:
diff changeset
91 (clobber (reg:CC flags))
kono
parents:
diff changeset
92 ]) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":6
kono
parents:
diff changeset
93 (expr_list:REG_EQUAL (neg:SI (mem/c:SI (plus:DI (reg/f:DI frame)
kono
parents:
diff changeset
94 (const_int -12)) [1 k+0 S4 A32]))))
kono
parents:
diff changeset
95 (edge-to 5 (flags "FALLTHRU"))
kono
parents:
diff changeset
96 ) ;; block 4
kono
parents:
diff changeset
97 (block 5
kono
parents:
diff changeset
98 (edge-from 4 (flags "FALLTHRU"))
kono
parents:
diff changeset
99 (edge-from 3)
kono
parents:
diff changeset
100 (clabel 20 3)
kono
parents:
diff changeset
101 (cnote 21 [bb 5] NOTE_INSN_BASIC_BLOCK)
kono
parents:
diff changeset
102 (cinsn 27 (use (reg/i:SI ax)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":7)
kono
parents:
diff changeset
103 (cnote 36 NOTE_INSN_EPILOGUE_BEG)
kono
parents:
diff changeset
104 (cinsn 37 (set (mem/v:BLK (1|scratch:DI) [0 A8])
kono
parents:
diff changeset
105 (unspec:BLK [
kono
parents:
diff changeset
106 (mem/v:BLK (reuse_rtx 1) [0 A8])
kono
parents:
diff changeset
107 ] UNSPEC_MEMORY_BLOCKAGE)) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":7)
kono
parents:
diff changeset
108 (cinsn/f 38 (set (reg/f:DI bp)
kono
parents:
diff changeset
109 (mem:DI (post_inc:DI (reg/f:DI sp)) [0 S8 A8])) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":7
kono
parents:
diff changeset
110 (expr_list:REG_CFA_DEF_CFA (plus:DI (reg/f:DI sp)
kono
parents:
diff changeset
111 (const_int 8))))
kono
parents:
diff changeset
112 (cjump_insn 39 (simple_return) "../../src/gcc/testsuite/gcc.dg/rtl/test.c":7)
kono
parents:
diff changeset
113 (edge-to exit)
kono
parents:
diff changeset
114 ) ;; block 5
kono
parents:
diff changeset
115 (cbarrier 40)
kono
parents:
diff changeset
116 (cnote 31 NOTE_INSN_DELETED)
kono
parents:
diff changeset
117 ) ;; insn-chain
kono
parents:
diff changeset
118 (crtl
kono
parents:
diff changeset
119 (return_rtx
kono
parents:
diff changeset
120 (reg/i:SI ax)
kono
parents:
diff changeset
121 ) ;; return_rtx
kono
parents:
diff changeset
122 ) ;; crtl
kono
parents:
diff changeset
123 ) ;; function "test_1"
kono
parents:
diff changeset
124 }
kono
parents:
diff changeset
125
kono
parents:
diff changeset
126 /* Verify that asm was emitted. */
kono
parents:
diff changeset
127 /* { dg-final { scan-assembler "test_1:" } } */
kono
parents:
diff changeset
128 /* { dg-final { scan-assembler ".cfi_startproc" } } */
kono
parents:
diff changeset
129 /* { dg-final { scan-assembler ".cfi_endproc" } } */
kono
parents:
diff changeset
130
kono
parents:
diff changeset
131 /* Verify that the "simple_return" was recognized.
kono
parents:
diff changeset
132 FIXME: this assumes i386.md. */
kono
parents:
diff changeset
133 /* { dg-final { scan-assembler "ret" } } */