This is the mail archive of the gcc-patches@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: [PATCH] Fix bt[lq] related miscompilation (PR target/48774)


On Tue, May 3, 2011 at 2:39 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Tue, May 03, 2011 at 10:26:50AM +0200, Uros Bizjak wrote:
>> On Mon, May 2, 2011 at 10:16 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>> IMO, this problem arises due to wrong fix for PR target/37184 [1] that
>> added CCA, CCC, CCO, CCS mode bypasses to ix86_match_ccmode.
>
> Yeah, ix86_match_ccmode was the first place I was looking at and
> it surprised me it allowed all those modes for CCNOmode req_mode.
> Thought there was a reason why it is done that way, but if there is not,
> even better. ?CC{A,O,S,Z}mode seem to be apparently only used for SSE
> intrinsics and CCCmode just for bt and adc/sbb etc.

Heh, there was no reason that these modes were added that way... just
to bypass gcc_unreachable (), see referred PR.

>> Jakub, can you please check the patch, I'm not able to test it
>> properly until tonight.
>
> Yeah, following patch passed bootstrap/regtest on x86_64-linux and
> i686-linux. ?Ok for trunk/4.6 (and perhaps later on 4.5/4.4)?
>
> 2011-05-03 ?Uros Bizjak ?<ubizjak@gmail.com>
> ? ? ? ? ? ?Jakub Jelinek ?<jakub@redhat.com>
>
> ? ? ? ?PR target/48774
> ? ? ? ?* config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
> ? ? ? ?only succeed if req_mode is the same as set_mode.
>
> ? ? ? ?* gcc.dg/pr48774.c: New test.

This is OK everywhere, it was a thinko after all.

Thanks,
Uros.


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