aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-03-08 21:50:21 +0100
committerUros Bizjak <uros@gcc.gnu.org>2012-03-08 21:50:21 +0100
commitb97190553d2798af4c5c8e6e775b942e458ba09e (patch)
treec08526dfe5c468a8637bcbf8da90d50602ec8a37
parent232d1950fd1cc440b0d7673246614c360744984e (diff)
downloadgcc-b97190553d2798af4c5c8e6e775b942e458ba09e.zip
gcc-b97190553d2798af4c5c8e6e775b942e458ba09e.tar.gz
gcc-b97190553d2798af4c5c8e6e775b942e458ba09e.tar.bz2
predicates.md (indirect_branch_operand): Simplify.
* config/i386/predicates.md (indirect_branch_operand): Simplify. From-SVN: r185111
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/predicates.md6
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d9c469..5f7d9fb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (indirect_branch_operand): Simplify.
+
2012-03-08 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 402e79a..dad8bf3 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -566,9 +566,9 @@
;; Test for a valid operand for indirect branch.
(define_predicate "indirect_branch_operand"
- (if_then_else (match_test "TARGET_X32")
- (match_operand 0 "register_operand")
- (match_operand 0 "nonimmediate_operand")))
+ (ior (match_operand 0 "register_operand")
+ (and (not (match_test "TARGET_X32"))
+ (match_operand 0 "memory_operand"))))
;; Test for a valid operand for a call instruction.
(define_predicate "call_insn_operand"