diff options
author | kyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-09-22 09:49:20 +0000 |
---|---|---|
committer | kyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-09-22 09:49:20 +0000 |
commit | d55ab4fbb19203c14ed2592d54db67929797ccff (patch) | |
tree | 129b9b013a5fbad4d85e407c5ea59cbcde3ece4e | |
parent | 408af7c634c646d399c5f99b85f9eb1c3849dd07 (diff) | |
download | gcc-d55ab4fbb19203c14ed2592d54db67929797ccff.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@228007 138bc75d-0d04-0410-961f-82ee72b054a4
-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 51e40dc8385..b3c1ceb459b 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 597695708e4..e0ab116af74 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -8515,7 +8515,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" @@ -8528,9 +8528,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")]) @@ -8539,9 +8539,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")]) |