diff options
author | Renlin Li <renlin.li@arm.com> | 2017-05-15 11:24:56 +0000 |
---|---|---|
committer | Renlin Li <renlin@gcc.gnu.org> | 2017-05-15 11:24:56 +0000 |
commit | 47210a041b3b40319b8dee64f00d479b1781eb57 (patch) | |
tree | 53a77fc48d52d149408165bdedb0e02da2ad0e1d /gcc/config/aarch64/constraints.md | |
parent | 7543c8b64cbcbeff998f6112dc8b6e07645e55a9 (diff) | |
download | gcc-47210a041b3b40319b8dee64f00d479b1781eb57.tar.gz |
[PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.
gcc/ChangeLog
2017-05-15 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
* config/aarch64/aarch64.c (aarch64_expand_call): Define.
* config/aarch64/constraints.md (Usf): Add long call check.
* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
(call_value): Likewise.
(sibcall): Likewise.
(sibcall_value): Likewise.
(call_insn): New.
(call_value_insn): New.
(sibcall_insn): Update rtx pattern.
(sibcall_value_insn): Likewise.
(call_internal): Remove.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(call_reg): Likewise.
(call_symbol): Likewise.
(call_value_reg): Likewise.
(call_value_symbol): Likewise.
From-SVN: r248056
Diffstat (limited to 'gcc/config/aarch64/constraints.md')
-rw-r--r-- | gcc/config/aarch64/constraints.md | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/aarch64/constraints.md b/gcc/config/aarch64/constraints.md index b43f08b7bbd..88e840f2898 100644 --- a/gcc/config/aarch64/constraints.md +++ b/gcc/config/aarch64/constraints.md @@ -126,7 +126,8 @@ (define_constraint "Usf" "@internal Usf is a symbol reference under the context where plt stub allowed." (and (match_code "symbol_ref") - (match_test "!aarch64_is_noplt_call_p (op)"))) + (match_test "!(aarch64_is_noplt_call_p (op) + || aarch64_is_long_call_p (op))"))) (define_constraint "UsM" "@internal |