This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR target/70750: [6/7 Regression] Load and call no longer combined for indirect calls on x86
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 27 Apr 2016 05:54:42 -0700
- Subject: Re: [PATCH] PR target/70750: [6/7 Regression] Load and call no longer combined for indirect calls on x86
- Authentication-results: sourceware.org; auth=none
- References: <20160421174634 dot GA12815 at intel dot com> <CAFULd4ZEfgoir_7mdFQF1YH+E0bSO3jkZPZQ_jagng2A50rxdw at mail dot gmail dot com>
On Thu, Apr 21, 2016 at 11:29 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Apr 21, 2016 at 7:46 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
>> r231923 has
>>
>> ;; Test for a valid operand for a call instruction.
>> ;; Allow constant call address operands in Pmode only.
>> (define_special_predicate "call_insn_operand"
>> (ior (match_test "constant_call_address_operand
>> (op, mode == VOIDmode ? mode : Pmode)")
>> (match_operand 0 "call_register_no_elim_operand")
>> - (and (not (match_test "TARGET_X32"))
>> - (match_operand 0 "memory_operand"))))
>> + (ior (and (not (match_test "TARGET_X32"))
>> + (match_operand 0 "sibcall_memory_operand"))
>> ^^^^^^^^^^^^^^^^^^^^^^^ A typo.
>> + (and (match_test "TARGET_X32 && Pmode == DImode")
>> + (match_operand 0 "GOT_memory_operand")))))
>>
>> "sibcall_memory_operand" should be "memory_operand".
>>
>> OK for trunk and 6 branch if there is no regression on x86-64?
>
> OK everywhere, but needs RM's approval for branch.
OK to backport for GCC 6 branch?
> Thanks,
> Uros.
>
>> H.J.
>> ---
>> gcc/
>>
>> PR target/70750
>> * config/i386/predicates.md (call_insn_operand): Replace
>> sibcall_memory_operand with memory_operand.
>>
>> gcc/testsuite/
>>
>> PR target/70750
>> * gcc.target/i386/pr70750-1.c: New test.
>> * gcc.target/i386/pr70750-2.c: Likewise.
--
H.J.