summaryrefslogtreecommitdiff
path: root/gcc/config/i386/sse.md
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-19 18:21:54 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-19 18:21:54 +0000
commit18594fc6162a5fd19dade5767d08960c01c25e20 (patch)
treefe6b12c1de8bf14c1f53ac2a199388016ae5a5a6 /gcc/config/i386/sse.md
parent2af8cce69529f81e44e5e0b09cd705e21337ceb8 (diff)
downloadgcc-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.md25
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")