diff options
author | Andrew Macleod <amacleod@redhat.com> | 2016-05-10 03:30:56 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@redhat.com> | 2016-05-10 03:30:56 +0000 |
commit | 357ceb7fe26970b6c6e12f0bb2ceecab6c6a2454 (patch) | |
tree | 48eb1f57289f4e995f069f38213ad5c8a16f0347 /gcc/config/i386/predicates.md | |
parent | 5ed230ef2005822d6402118e58a311db2a9cb0c7 (diff) | |
parent | 8a50780e586342528692744150d08651fb07fb43 (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.md | 18 |
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"))) |