i386: Rewrite indirect_branch_operand logic

* config/i386/predicates.md (indirect_branch_operand): Rewrite
	ix86_indirect_branch_register logic.

From-SVN: r256715
This commit is contained in:
H.J. Lu 2018-01-15 22:36:42 +00:00 committed by H.J. Lu
parent 4a5a0497ba
commit 894c144ca2
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/predicates.md (indirect_branch_operand): Rewrite
ix86_indirect_branch_register logic.
2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/constraints.md (Bs): Update

View File

@ -665,8 +665,8 @@
;; Test for a valid operand for indirect branch.
(define_predicate "indirect_branch_operand"
(ior (match_operand 0 "register_operand")
(and (not (match_test "TARGET_X32
|| ix86_indirect_branch_register"))
(and (not (match_test "ix86_indirect_branch_register"))
(not (match_test "TARGET_X32"))
(match_operand 0 "memory_operand"))))
;; Return true if OP is a memory operands that can be used in sibcalls.