Commit eb9678e7 by Ramana Radhakrishnan Committed by Ramana Radhakrishnan

Handle noplt in call expanders for AArch64.




2015-10-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
	(sibcall_value): Likewise.

From-SVN: r229488
parent e3091406
2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
(sibcall_value): Likewise.
2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
* config/nvptx/nvptx.h (struct machine_function): Add
......@@ -696,7 +696,8 @@
the branch-and-link. */
callee = XEXP (operands[0], 0);
if (GET_CODE (callee) == SYMBOL_REF
? aarch64_is_long_call_p (callee)
? (aarch64_is_long_call_p (callee)
|| aarch64_is_noplt_call_p (callee))
: !REG_P (callee))
XEXP (operands[0], 0) = force_reg (Pmode, callee);
......@@ -755,7 +756,8 @@
the branch-and-link. */
callee = XEXP (operands[1], 0);
if (GET_CODE (callee) == SYMBOL_REF
? aarch64_is_long_call_p (callee)
? (aarch64_is_long_call_p (callee)
|| aarch64_is_noplt_call_p (callee))
: !REG_P (callee))
XEXP (operands[1], 0) = force_reg (Pmode, callee);
......@@ -805,10 +807,11 @@
""
{
rtx pat;
if (!REG_P (XEXP (operands[0], 0))
&& (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF))
XEXP (operands[0], 0) = force_reg (Pmode, XEXP (operands[0], 0));
rtx callee = XEXP (operands[0], 0);
if (!REG_P (callee)
&& ((GET_CODE (callee) != SYMBOL_REF)
|| aarch64_is_noplt_call_p (callee)))
XEXP (operands[0], 0) = force_reg (Pmode, callee);
if (operands[2] == NULL_RTX)
operands[2] = const0_rtx;
......@@ -835,10 +838,11 @@
""
{
rtx pat;
if (!REG_P (XEXP (operands[1], 0))
&& (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF))
XEXP (operands[1], 0) = force_reg (Pmode, XEXP (operands[1], 0));
rtx callee = XEXP (operands[1], 0);
if (!REG_P (callee)
&& ((GET_CODE (callee) != SYMBOL_REF)
|| aarch64_is_noplt_call_p (callee)))
XEXP (operands[1], 0) = force_reg (Pmode, callee);
if (operands[3] == NULL_RTX)
operands[3] = const0_rtx;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment