[Bug target/69713] New: Invalid code of optimization in SH
ysato at users dot sourceforge.jp
gcc-bugzilla@gcc.gnu.org
Sun Feb 7 05:21:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713
Bug ID: 69713
Summary: Invalid code of optimization in SH
Product: gcc
Version: 5.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ysato at users dot sourceforge.jp
Target Milestone: ---
Created attachment 37619
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37619&action=edit
reproduce code
Attached code compiled. Getting output below.
82 lookup_user_key:
83 mov.l r8,@-r15
84 mov #0,r3
85 mov.l r9,@-r15
86 mov #15,r1
87 mov.l r10,@-r15
88 mov.l r11,@-r15
89 mov r5,r11
90 mov.l r12,@-r15
91 mov r4,r12
92 mov.l r13,@-r15
93 mov.l r14,@-r15
94 sts.l pr,@-r15
95 add #-76,r15
96 mov r15,r2
97 mov.l r6,@(4,r15)
98 add #16,r2
99 .L16:
100 add #-1,r1
101 mov.l r3,@r2
102 tst r1,r1
103 add #4,r2
104 bf .L16
105 mov.l .L111,r1
106 mov r12,r10
107 add #8,r10
108 mova .L21,r0
109 mov.l r1,@(32,r15)
110 mov r10,r2
111 mov #1,r1
112 mov.l r1,@(48,r15)
113 add r2,r2
114 mov.w @(r0,r2),r1
Line 114 is lookup jump table. But not check offset range.
So if r2 is out of range (in default case). Refer out of table.
-O0 generate collect code. I think optimizing bug.
More information about the Gcc-bugs
mailing list