diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-19 18:21:54 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-19 18:21:54 +0000 |
commit | 18594fc6162a5fd19dade5767d08960c01c25e20 (patch) | |
tree | fe6b12c1de8bf14c1f53ac2a199388016ae5a5a6 /gcc/config/i386/sse.md | |
parent | 2af8cce69529f81e44e5e0b09cd705e21337ceb8 (diff) | |
download | gcc-18594fc6162a5fd19dade5767d08960c01c25e20.tar.gz |
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use if_then_else RTX
to calculate unit, prefix_rep and prefix_data16 attributes.
(*mov<mode>_internal): Ditto for unit attribute.
(*movv2sf_internal_rex64): Ditto for unit and prefix_rep attributes.
(*movv2sf_internal): Ditto.
* config/i386/sse.md (VI1248_256): Remove mode iterator.
(avx2_eq<mode>3): Use VI_256 instead of VI1248_256.
(*avx2_eq<mode>3): Ditto.
(avx2_gt<mode>3): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178982 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/sse.md')
-rw-r--r-- | gcc/config/i386/sse.md | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 5a1b597d5bd..5e1701c858b 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -191,7 +191,6 @@ ;; Random 256bit vector integer mode combinations (define_mode_iterator VI124_256 [V32QI V16HI V8SI]) -(define_mode_iterator VI1248_256 [V32QI V16HI V8SI V4DI]) (define_mode_iterator VI248_256 [V16HI V8SI V4DI]) ;; Int-float size matches @@ -6036,18 +6035,18 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define_expand "avx2_eq<mode>3" - [(set (match_operand:VI1248_256 0 "register_operand" "") - (eq:VI1248_256 - (match_operand:VI1248_256 1 "nonimmediate_operand" "") - (match_operand:VI1248_256 2 "nonimmediate_operand" "")))] + [(set (match_operand:VI_256 0 "register_operand" "") + (eq:VI_256 + (match_operand:VI_256 1 "nonimmediate_operand" "") + (match_operand:VI_256 2 "nonimmediate_operand" "")))] "TARGET_AVX2" "ix86_fixup_binary_operands_no_copy (EQ, <MODE>mode, operands);") (define_insn "*avx2_eq<mode>3" - [(set (match_operand:VI1248_256 0 "register_operand" "=x") - (eq:VI1248_256 - (match_operand:VI1248_256 1 "nonimmediate_operand" "%x") - (match_operand:VI1248_256 2 "nonimmediate_operand" "xm")))] + [(set (match_operand:VI_256 0 "register_operand" "=x") + (eq:VI_256 + (match_operand:VI_256 1 "nonimmediate_operand" "%x") + (match_operand:VI_256 2 "nonimmediate_operand" "xm")))] "TARGET_AVX2 && ix86_binary_operator_ok (EQ, <MODE>mode, operands)" "vpcmpeq<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}" [(set_attr "type" "ssecmp") @@ -6118,10 +6117,10 @@ (set_attr "mode" "TI")]) (define_insn "avx2_gt<mode>3" - [(set (match_operand:VI1248_256 0 "register_operand" "=x") - (gt:VI1248_256 - (match_operand:VI1248_256 1 "register_operand" "x") - (match_operand:VI1248_256 2 "nonimmediate_operand" "xm")))] + [(set (match_operand:VI_256 0 "register_operand" "=x") + (gt:VI_256 + (match_operand:VI_256 1 "register_operand" "x") + (match_operand:VI_256 2 "nonimmediate_operand" "xm")))] "TARGET_AVX2" "vpcmpgt<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}" [(set_attr "type" "ssecmp") |