[PATCH, i386]: Rewrite x87 sqrt patterns, take 2a (macroized)

Uros Bizjak ubizjak@gmail.com
Sat Nov 25 21:13:00 GMT 2006


Roger Sayle wrote:

>>internal compiler error: RTL check: expected elt 0 type 'e' or 'u',
>>have 'E' (rtx unspec) in get_true_reg, at reg-stack.c:452
>>    
>>
>
>Grr,  it looks like Uros meant to write:
>
>+      case UNSPEC:
>+       if (XINT (*pat, 1) == UNSPEC_TRUNC_NOOP)
>+         pat = & XVECEXP (*pat, 0, 0);
>+       break;
>
>Or else we fall through to the FLOAT_TRUNCATE case for UNSPECs other
>than UNSPEC_TRUNC_NOOP.
>  
>
I'm digging through my brown paper bag collection to find appropriate 
bag, but I _did_ make a full bootstrap & regression test, and there was 
no RTL check message!

>I'll pre-approve that correction (as obvious?), if it bootstraps and
>regression tests without problems.  My apologies for missing this
>during review.
>  
>
Please accept my apologies...

Attached to this message is an emergency patch that passed bootstrap and 
my collection of quick tests on x86_64-pc-linux-gnu (-m32) and is in 
regression test right now...

Uros.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: reg-stack.diff
Type: text/x-patch
Size: 416 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20061125/e746a30d/attachment.bin>


More information about the Gcc-patches mailing list