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] |
Hello! As discussed in the PR, avx{,2}_maskload pattern outputs zero element to destination register, when corresponding mask selector is not set. So, there is no dependency on target register value. While the attached patch fixes mainline, following one-liner is enough to fix other relase branches. Index: config/i386/sse.md =================================================================== --- config/i386/sse.md (revision 180334) +++ config/i386/sse.md (working copy) @@ -12007,8 +12007,7 @@ [(set (match_operand:AVXMODEF2P 0 "register_operand" "=x") (unspec:AVXMODEF2P [(match_operand:AVXMODEF2P 1 "memory_operand" "m") - (match_operand:<avxpermvecmode> 2 "register_operand" "x") - (match_dup 0)] + (match_operand:<avxpermvecmode> 2 "register_operand" "x")] UNSPEC_MASKLOAD))] "TARGET_AVX" "vmaskmov<ssemodesuffix>\t{%1, %2, %0|%0, %2, %1}" 2011-10-23 Uros Bizjak <ubizjak@gmail.com> PR target/50788 * config/i386/sse.md (avx2_maskload<ssemodesuffix><avxsizesuffix>): Remove (match_dup 0). (*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern. (*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto. (*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto. (*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto. (*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern. (*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto. testsuite/ChangeLog: 2011-10-23 Uros Bizjak <ubizjak@gmail.com> PR target/50788 * testsuite/gcc.target/i386/pr50788.c: New test. Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32}. I will commit this patch to mainline and 4.6 branch as soon as regression tests finish. Uros.
Attachment:
p.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |