This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Somebody broke bootstrap on trunk for x86_64
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: pinskia at physics dot uc dot edu (Andrew Pinski)
- Cc: rguenther at suse dot de (Richard Guenther), gcc at gcc dot gnu dot org
- Date: Sat, 19 Nov 2005 20:51:27 -0500 (EST)
- Subject: Re: Somebody broke bootstrap on trunk for x86_64
>
> >
> > tail -n 30 /work/built/mbuild/g148-rguenther-61/x86_64/Logfile.gcc-mainline.spec
> > -o 32/crtbeginT.o
> > ../../gcc/libgcc2.c: In function '__fixunsdfdi':
> > ../../gcc/libgcc2.c:1228: error: could not split insn
> > (insn:TI 17 65 66 ../../gcc/libgcc2.c:1219 (parallel [
> > (set (reg:DI 0 ax [66])
> > (ashift:DI (reg:DI 0 ax [66])
> > (const_int 32 [0x20])))
> > (clobber (reg:CC 17 flags))
> > ]) 411 {*ashldi3_1} (insn_list:REG_DEP_ANTI 15 (insn_list:REG_DEP_TRUE 63 (insn_list:REG_DEP_TRUE 59 (nil))))
> > (expr_list:REG_UNUSED (reg:CC 17 flags)
> > (nil)))
> > ../../gcc/libgcc2.c:1228: internal compiler error: in final_scan_insn, at final.c:2467
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See <URL:http://www.suse.de/feedback> for instructions.
> > make[3]: *** [libgcc/32/_fixunsdfdi.o] Error 1
>
> And this is just recent too.
>
> Anyways here is the reduced testcase:
> long long
> __fixunsdfdi (unsigned hi, unsigned lo)
> {
> return ((unsigned long long) hi << (32)) | lo;
> }
flow2 is where the diference comes in:
--- old/t.c.40.flow2 2005-11-20 02:48:18.000000000 +0100
+++ new/t.c.40.flow2 2005-11-20 02:48:30.000000000 +0100
@@ -47,12 +47,12 @@
(reg:SI 1 dx [ D.1281+4 ]))# {*movsi_1} (nil)
(nil))
-(insn# # # 1 (set (reg:SI 5 di [ D.1282+4 ])
- (reg:SI 4 si [orig:60 D.1282 ] [60]))# {*movsi_1} (nil)
- (nil))
-
-(insn# # # 1 (set (reg:SI 4 si [orig:60 D.1282 ] [60])
- (const_int 0 [0x0]))# {*movsi_1} (nil)
+(insn# # # 1 (parallel [
+ (set (reg:DI 4 si [orig:60 D.1282 ] [60])
+ (ashift:DI (reg:DI 4 si [orig:60 D.1282 ] [60])
+ (const_int 32 [0x20])))
+ (clobber (reg:CC 17 flags))
+ ])# {*ashldi3_1} (nil)
(nil))
(insn# # # 1 (set (reg:SI 2 cx [orig:59 D.1283 ] [59])
I don't understand why it is not being split at all.
-- Pinski