Hi, This patch switches the only use of the "Usa" constraint to use "S"
instead and removes the definition and documentation for "Usa".
Regressed for aarch64-none-elf. Applied.
/Marcus
2013-05-23 Chris Schlumberger-Socha <chris.schlumberger-so...@arm.com>
Marcus Shawcroft <marcus.shawcr...@arm.com>
* config/aarch64/aarch64.md (*movdi_aarch64): Replace Usa with S.
* config/aarch64/constraints.md (Usa): Remove.
* doc/md.texi (AArch64 Usa): Remove.
Index: gcc/doc/md.texi
===================================================================
--- gcc/doc/md.texi (revision 199258)
+++ gcc/doc/md.texi (working copy)
@@ -1711,9 +1711,6 @@
@item Z
Integer constant zero
-@item Usa
-An absolute symbolic address
-
@item Ush
The high part (bits 12 and upwards) of the pc-relative address of a symbol
within 4GB of the instruction
Index: gcc/config/aarch64/aarch64.md
===================================================================
--- gcc/config/aarch64/aarch64.md (revision 199258)
+++ gcc/config/aarch64/aarch64.md (working copy)
@@ -829,8 +829,8 @@
)
(define_insn "*movdi_aarch64"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=r,k,r,r,r,*w,m, m,r, r, *w, r,*w,w")
- (match_operand:DI 1 "aarch64_mov_operand" " r,r,k,N,m, m,rZ,*w,Usa,Ush,rZ,*w,*w,Dd"))]
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=r,k,r,r,r,*w,m, m,r,r, *w, r,*w,w")
+ (match_operand:DI 1 "aarch64_mov_operand" " r,r,k,N,m, m,rZ,*w,S,Ush,rZ,*w,*w,Dd"))]
"(register_operand (operands[0], DImode)
|| aarch64_reg_or_zero (operands[1], DImode))"
"@
Index: gcc/config/aarch64/constraints.md
===================================================================
--- gcc/config/aarch64/constraints.md (revision 199258)
+++ gcc/config/aarch64/constraints.md (working copy)
@@ -75,11 +75,6 @@
"Integer constant zero."
(match_test "op == const0_rtx"))
-(define_constraint "Usa"
- "A constraint that matches an absolute symbolic address."
- (and (match_code "const,symbol_ref")
- (match_test "aarch64_symbolic_address_p (op)")))
-
(define_constraint "Ush"
"A constraint that matches an absolute symbolic address high part."
(and (match_code "high")