[PATCH] Fix x86 bmi2 bzhi patterns (PR target/65368)
Uros Bizjak
ubizjak@gmail.com
Tue Mar 10 19:26:00 GMT 2015
On Tue, Mar 10, 2015 at 8:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> The following testcase fails, because the RTL pattern of bmi2_bzhi_*3
> didn't really model (not even close) what the instruction was doing,
> so when combiner attempted to simplify it for constant arguments, it
> simplified it into something wrong.
>
> Fixed thusly, verified we don't regress on combining memory
> for the middle operand, bootstrapped/regtested on x86_64-linux and
> i686-linux (both Haswell-E), ok for trunk (and eventually backporting it)?
>
> 2015-03-10 Jakub Jelinek <jakub@redhat.com>
>
> PR target/65368
> * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
> new define_expand.
> (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
>
> * gcc.target/i386/bmi2-bzhi-2.c: New test.
OK for mainline and release branches.
Thanks,
Uros.
More information about the Gcc-patches
mailing list