diff options
author | Kirill Yukhin <kirill.yukhin@intel.com> | 2015-09-22 09:47:39 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2015-09-22 09:47:39 +0000 |
commit | 7095d6f2ebbc17713a5ce18c45455476b402d166 (patch) | |
tree | 34a241a9f6affbaf49f797fce8030d155b26baa7 /gcc | |
parent | 5febdf54ab76c7147235288398e2ecbca71d25ed (diff) | |
download | gcc-7095d6f2ebbc17713a5ce18c45455476b402d166.zip gcc-7095d6f2ebbc17713a5ce18c45455476b402d166.tar.gz gcc-7095d6f2ebbc17713a5ce18c45455476b402d166.tar.bz2 |
AVX-512. Fix patterns for kunpck insns.
gcc/
* gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix
operand in pattern.
(define_insn "kunpcksi"): Ditto.
(define_insn "kunpckdi"): Ditto.
From-SVN: r228005
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 10 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 62fcf3f..13db1c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> + * gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix + operand in pattern. + (define_insn "kunpcksi"): Ditto. + (define_insn "kunpckdi"): Ditto. + +2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> + * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use iterator instead of fixed modes. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index f7230f0..2f8cdb2 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -8603,7 +8603,7 @@ [(set (match_operand:HI 0 "register_operand" "=k") (ior:HI (ashift:HI - (match_operand:HI 1 "register_operand" "k") + (zero_extend:HI (match_operand:QI 1 "register_operand" "k")) (const_int 8)) (zero_extend:HI (match_operand:QI 2 "register_operand" "k"))))] "TARGET_AVX512F" @@ -8616,9 +8616,9 @@ [(set (match_operand:SI 0 "register_operand" "=k") (ior:SI (ashift:SI - (match_operand:SI 1 "register_operand" "k") + (zero_extend:SI (match_operand:HI 1 "register_operand" "k")) (const_int 16)) - (zero_extend:SI (subreg:HI (match_operand:SI 2 "register_operand" "k") 0))))] + (zero_extend:SI (match_operand:HI 2 "register_operand" "k"))))] "TARGET_AVX512BW" "kunpckwd\t{%2, %1, %0|%0, %1, %2}" [(set_attr "mode" "SI")]) @@ -8627,9 +8627,9 @@ [(set (match_operand:DI 0 "register_operand" "=k") (ior:DI (ashift:DI - (match_operand:DI 1 "register_operand" "k") + (zero_extend:DI (match_operand:SI 1 "register_operand" "k")) (const_int 32)) - (zero_extend:DI (subreg:SI (match_operand:DI 2 "register_operand" "k") 0))))] + (zero_extend:DI (match_operand:SI 2 "register_operand" "k"))))] "TARGET_AVX512BW" "kunpckdq\t{%2, %1, %0|%0, %1, %2}" [(set_attr "mode" "DI")]) |