[Bug bootstrap/59985] New: stage2/3 compare error on lto-streamer-in.o
bernd.edlinger at hotmail dot de
gcc-bugzilla@gcc.gnu.org
Wed Jan 29 14:57:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59985
Bug ID: 59985
Summary: stage2/3 compare error on lto-streamer-in.o
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: bernd.edlinger at hotmail dot de
I try to boot strap this on arm-linux-gnueabihf:
../gcc-4.9-20140126/configure --prefix=/home/ed/gnu/arm-linux-gnueabihf
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go --with-arch=armv7-a
--with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard
and get a stage2/3 compare error constantly at lto-streamer-in.o
this is reproducible with gcc snapshot gcc-4.9-20140126
as well as gcc-4.9-20140112.
--- stage2.dump 2014-01-29 14:38:32.291550833 +0000
+++ stage3.dump 2014-01-29 14:38:53.595551113 +0000
@@ -1093,19 +1093,19 @@
1084: e58d3010 str r3, [sp, #16]
1088: e2082001 and r2, r8, #1
108c: e3a03000 mov r3, #0
- 1090: e1a08000 mov r8, r0
+ 1090: e3a06003 mov r6, #3
1094: e1cd20f8 strd r2, [sp, #8]
- 1098: e1a0e001 mov lr, r1
+ 1098: e3a0c004 mov ip, #4
109c: e59d3010 ldr r3, [sp, #16]
- 10a0: e3a06003 mov r6, #3
- 10a4: e3a0c004 mov ip, #4
+ 10a0: e1a08000 mov r8, r0
+ 10a4: e1a0e001 mov lr, r1
10a8: e1833f01 orr r3, r3, r1, lsl #30
10ac: e58d3010 str r3, [sp, #16]
10b0: e1a03121 lsr r3, r1, #2
10b4: e58d3014 str r3, [sp, #20]
- 10b8: e3a03000 mov r3, #0
- 10bc: e1cd01d0 ldrd r0, [sp, #16]
- 10c0: e2002001 and r2, r0, #1
+ 10b8: e1cd21d0 ldrd r2, [sp, #16]
+ 10bc: e3a03000 mov r3, #0
+ 10c0: e2022001 and r2, r2, #1
10c4: e1cd21f0 strd r2, [sp, #16]
10c8: ea000009 b 10f4
<_Z18lto_input_locationP9bitpack_dP7data_in+0x230>
10cc: e5940010 ldr r0, [r4, #16]
This seems to happen because stage2 uses -gtoggle and stage3 does not.
I see the first difference in lto-streamer-in.c.234r.sched2:
stage2:
(insn 484 475 485 17 (set (reg:SI 2 r2 [orig:118 D.60233 ] [118])
(and:SI (reg:SI 8 r8 [orig:256 valD.60190 ] [256])
(const_int 1 [0x1])))
../../gcc-4.9-20140126/gcc/data-streamer.h:172 80 {*arm_andsi3_insn}
(expr_list:REG_DEAD (reg:SI 8 r8 [orig:256 valD.60190 ] [256])
(nil)))
(insn:TI 485 484 348 17 (set (reg:SI 3 r3 [ D.60233+4 ])
(const_int 0 [0])) ../../gcc-4.9-20140126/gcc/data-streamer.h:172 663
{*arm_movsi_vfp}
(nil))
(insn 348 485 461 17 (set (reg:SI 8 r8 [orig:270 D.60233 ] [270])
(reg:SI 0 r0 [orig:140 valD.60184 ] [140]))
../../gcc-4.9-20140126/gcc/data-streamer.h:172 663 {*arm_movsi_vfp}
(expr_list:REG_DEAD (reg:SI 0 r0 [orig:140 valD.60184 ] [140])
(nil)))
(insn:TI 461 348 349 17 (set (mem/c:DI (plus:SI (reg/f:SI 13 sp)
(const_int 8 [0x8])) [180 %sfpD.60006+-48 S8 A64])
(reg:DI 2 r2 [orig:118 D.60233 ] [118]))
../../gcc-4.9-20140126/gcc/data-streamer.h:172 665 {*movdi_vfp}
(expr_list:REG_DEAD (reg:DI 2 r2 [orig:118 D.60233 ] [118])
(nil)))
stage3:
(insn 622 613 623 17 (set (reg:SI 2 r2 [orig:118 D.60549 ] [118])
(and:SI (reg:SI 8 r8 [orig:256 valD.60503 ] [256])
(const_int 1 [0x1])))
../../gcc-4.9-20140126/gcc/data-streamer.h:172 80 {*arm_andsi3_insn}
(expr_list:REG_DEAD (reg:SI 8 r8 [orig:256 valD.60503 ] [256])
(nil)))
(insn:TI 623 622 438 17 (set (reg:SI 3 r3 [ D.60549+4 ])
(const_int 0 [0])) ../../gcc-4.9-20140126/gcc/data-streamer.h:172 663
{*arm_movsi_vfp}
(nil))
(insn 438 623 598 17 (set (reg/v:SI 6 r6 [orig:113 posD.60516 ] [113])
(const_int 3 [0x3])) 663 {*arm_movsi_vfp}
(nil))
(insn:TI 598 438 428 17 (set (mem/c:DI (plus:SI (reg/f:SI 13 sp)
(const_int 8 [0x8])) [180 %sfpD.60308+-48 S8 A64])
(reg:DI 2 r2 [orig:118 D.60549 ] [118]))
../../gcc-4.9-20140126/gcc/data-streamer.h:172 665 {*movdi_vfp}
(expr_list:REG_DEAD (reg:DI 2 r2 [orig:118 D.60549 ] [118])
(nil)))
More information about the Gcc-bugs
mailing list