On 15 September 2004 11:10, Donald Bruce Stewart wrote:
> simonmar:
>> On 15 September 2004 08:45, Donald Bruce Stewart wrote:
>>> IF_(s1Ee_ret) {
>>> W_ _c1Es;
>>> FB_
>>> _c1Es = (W_)((*((StgWord16*)((*R1.p) + (-0x2)))));
>>> >>>>> if (_c1Es < 0x5) goto _c1EB;
>>> if (_c1Es < 0x7) goto _c1EC;
>>> if (_c1Es < 0x8) goto _c1ED;
>>> if (_c1Es != 0x8) goto _c1EE;
>>> <<<<<
>>> R1.p = (P_)(W_)GHCziBase_True_closure;
>>> Sp=Sp+1; JMP_(*((P_)((*Sp) + (-0x14))));
>>> ...
>>> _c1EB:
>>> switch (_c1Es) {
>>> case 0x0: goto _c1EF;
>>> case 0x1: goto _c1EG;
>>> case 0x2: goto _c1EH;
>>> case 0x3: goto _c1EI;
>>> case 0x4: goto _c1EE;
>>> }
>>
>> Regardless of the gcc bug, that sequence of ifs looks really dumb.
>> Can we see the STG fragment that gives rise to this code?
>
> -ddump-stg attached.
Ok, update and try now. I've cleaned up that code a bit, so hopefully
gcc won't gag on it.
Cheers,
Simon
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc