This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]