This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 3/5] x86: Add -mindirect-branch-register
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "H. J. Lu" <hjl dot tools at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 14 Jan 2018 18:51:52 +0100
- Subject: Re: [PATCH 3/5] x86: Add -mindirect-branch-register
- Authentication-results: sourceware.org; auth=none
- (ior (and (not (match_test "TARGET_X32"))
+ (ior (and (not (match_test "TARGET_X32
+ || ix86_indirect_branch_thunk_register"))
(match_operand 0 "sibcall_memory_operand"))
- (and (match_test "TARGET_X32 && Pmode == DImode")
+ (and (match_test "TARGET_X32 && Pmode == DImode
+ && !ix86_indirect_branch_thunk_register")
(match_operand 0 "GOT_memory_operand"))))
Is this patch just trying to disable the predicate when
ix86_indirect_branch_thunk_register is set? Because this is what this
convoluted logic does.
While there is some sense for "TARGET_X32 && Pmode == DImode", we try
to use RTX codes as much as possible in constraints.md and
predicates.md.
Uros.