aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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"