aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/predicates.md
diff options
context:
space:
mode:
authorAndrew Macleod <amacleod@redhat.com>2016-05-10 03:30:56 +0000
committerAndrew Macleod <amacleod@redhat.com>2016-05-10 03:30:56 +0000
commit357ceb7fe26970b6c6e12f0bb2ceecab6c6a2454 (patch)
tree48eb1f57289f4e995f069f38213ad5c8a16f0347 /gcc/config/i386/predicates.md
parent5ed230ef2005822d6402118e58a311db2a9cb0c7 (diff)
parent8a50780e586342528692744150d08651fb07fb43 (diff)
update to 2016-05-09ttype-2016-05-03
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ttype-2016-05-03@236057 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/predicates.md')
-rw-r--r--gcc/config/i386/predicates.md18
1 files changed, 8 insertions, 10 deletions
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index b3a471d8b76..b3cf2a3cb04 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -27,11 +27,6 @@
(and (match_code "reg")
(match_test "STACK_REGNO_P (REGNO (op))")))
-;; Return true if OP is a non-fp register_operand.
-(define_predicate "register_and_not_any_fp_reg_operand"
- (and (match_code "reg")
- (not (match_test "ANY_FP_REGNO_P (REGNO (op))"))))
-
;; True if the operand is a GENERAL class register.
(define_predicate "general_reg_operand"
(and (match_code "reg")
@@ -43,11 +38,6 @@
(match_test "GENERAL_REGNO_P (REGNO (op))")
(match_operand 0 "nonimmediate_operand")))
-;; Return true if OP is a register operand other than an i387 fp register.
-(define_predicate "register_and_not_fp_reg_operand"
- (and (match_code "reg")
- (not (match_test "STACK_REGNO_P (REGNO (op))"))))
-
;; True if the operand is an MMX register.
(define_predicate "mmx_reg_operand"
(and (match_code "reg")
@@ -133,6 +123,14 @@
(define_predicate "nonimm_ssenomem_operand"
(if_then_else
(and (match_test "SSE_FLOAT_MODE_P (mode) && TARGET_SSE_MATH")
+ (not (match_test "TARGET_MIX_SSE_I387")))
+ (match_operand 0 "register_operand")
+ (match_operand 0 "nonimmediate_operand")))
+
+;; The above predicate, suitable for x87 arithmetic operators.
+(define_predicate "x87nonimm_ssenomem_operand"
+ (if_then_else
+ (and (match_test "SSE_FLOAT_MODE_P (mode) && TARGET_SSE_MATH")
(not (match_test "TARGET_MIX_SSE_I387 && X87_ENABLE_ARITH (mode)")))
(match_operand 0 "register_operand")
(match_operand 0 "nonimmediate_operand")))