opcodes/
authorYufeng Zhang <yufeng.zhang@arm.com>
Thu, 27 Feb 2014 14:55:46 +0000 (14:55 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Thu, 27 Feb 2014 14:55:46 +0000 (14:55 +0000)
* aarch64-opc.c (print_register_offset_address): Call
get_int_reg_name to prepare the register name.

gas/testsuite/

* gas/aarch64/ldst-reg-reg-offset.s: Add tests.
* gas/aarch64/ldst-reg-reg-offset.d: Update.

gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/ldst-reg-reg-offset.d
gas/testsuite/gas/aarch64/ldst-reg-reg-offset.s
opcodes/ChangeLog
opcodes/aarch64-opc.c

index c32ec63..345d396 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-27  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * gas/aarch64/ldst-reg-reg-offset.s: Add tests.
+       * gas/aarch64/ldst-reg-reg-offset.d: Update.
+
 2014-02-21  Ilya Tocar  <ilya.tocar@intel.com>
 
        * gas/i386/avx512pf-intel.d: Remove prefetchwt1.
index 486d9c8..b720633 100644 (file)
@@ -85,3 +85,7 @@ Disassembly of section \.text:
  134:  fc67fbe7        ldr     d7, \[sp,x7,sxtx #3\]
  138:  3ce7ebe7        ldr     q7, \[sp,x7,sxtx\]
  13c:  3ce7fbe7        ldr     q7, \[sp,x7,sxtx #4\]
+ 140:  f87ffbe1        ldr     x1, \[sp,xzr,sxtx #3\]
+ 144:  f83ffbe1        str     x1, \[sp,xzr,sxtx #3\]
+ 148:  b87fdbe1        ldr     w1, \[sp,wzr,sxtw #2\]
+ 14c:  b83fdbe1        str     w1, \[sp,wzr,sxtw #2\]
index afa7c4d..195c830 100644 (file)
@@ -86,3 +86,9 @@
 func:
        ld_or_st        str
        ld_or_st        ldr
+
+       /* When the index register is of register 31, it should be ZR.  */
+       ldr     x1, [sp, xzr, sxtx #3]
+       str     x1, [sp, xzr, sxtx #3]
+       ldr     w1, [sp, wzr, sxtw #2]
+       str     w1, [sp, wzr, sxtw #2]
index ac1d8fb..b7bfe64 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-27  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64-opc.c (print_register_offset_address): Call
+       get_int_reg_name to prepare the register name.
+
 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
 
        * i386-opc.tbl: Remove wrong variant of vcvtps2ph
index 4313327..a84c758 100644 (file)
@@ -2282,9 +2282,12 @@ print_register_offset_address (char *buf, size_t size,
   else
     tb[0] = '\0';
 
-  snprintf (buf, size, "[%s,%c%d%s]",
+  snprintf (buf, size, "[%s,%s%s]",
            get_64bit_int_reg_name (opnd->addr.base_regno, 1),
-           wm_p ? 'w' : 'x', opnd->addr.offset.regno, tb);
+           get_int_reg_name (opnd->addr.offset.regno,
+                             wm_p ? AARCH64_OPND_QLF_W : AARCH64_OPND_QLF_X,
+                             0 /* sp_reg_p */),
+           tb);
 }
 
 /* Generate the string representation of the operand OPNDS[IDX] for OPCODE