diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/predicates.md | 6 |
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" |