Patchwork [AArch64] Remove Usa constraint.

login
register
mail settings
Submitter Marcus Shawcroft
Date May 23, 2013, 2:16 p.m.
Message ID <519E24CB.2050008@arm.com>
Download mbox | patch
Permalink /patch/245955/
State New
Headers show

Comments

Marcus Shawcroft - May 23, 2013, 2:16 p.m.
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-socha@arm.com>
             Marcus Shawcroft  <marcus.shawcroft@arm.com>

         * config/aarch64/aarch64.md (*movdi_aarch64): Replace Usa with S.
         * config/aarch64/constraints.md (Usa): Remove.
         * doc/md.texi (AArch64 Usa): Remove.

Patch

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")