From e24accad9477612bc4d5f6be713a3c8f3066eb63 Mon Sep 17 00:00:00 2001 From: hjl Date: Mon, 15 Jan 2018 22:36:42 +0000 Subject: [PATCH] i386: Rewrite indirect_branch_operand logic * config/i386/predicates.md (indirect_branch_operand): Rewrite ix86_indirect_branch_register logic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256715 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/predicates.md | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f89575a4c84..3e92ee9aaa5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2018-01-15 H.J. Lu + * config/i386/predicates.md (indirect_branch_operand): Rewrite + ix86_indirect_branch_register logic. + +2018-01-15 H.J. Lu + * config/i386/constraints.md (Bs): Update ix86_indirect_branch_register check. Don't check ix86_indirect_branch_register with GOT_memory_operand. diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md index a502657f9e3..2f2393b9e3e 100644 --- a/gcc/config/i386/predicates.md +++ b/gcc/config/i386/predicates.md @@ -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. -- 2.11.4.GIT