2010-09-17 Tejas Belagod <tejas.belagod@arm.com>
authorMatthew Gretton-Dann <matthew.gretton-dann@arm.com>
Fri, 17 Sep 2010 10:13:41 +0000 (10:13 +0000)
committerMatthew Gretton-Dann <matthew.gretton-dann@arm.com>
Fri, 17 Sep 2010 10:13:41 +0000 (10:13 +0000)
* config/tc-arm.c (insns): Change MRC entry to accept APSR_RR instead
of just RR.

2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>

* gas/arm/copro.s: Add test for APSR_nzcv as a MRC operand.
* gas/arm/copro.d: Change pc in MRC to disassemble as APSR_nzcv.  Also
add disassembly for test added in copro.s

2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>

* arm_dis.c (coprocessor_opcodes): Add MRC entry for APSR_nzcv.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/copro.d
gas/testsuite/gas/arm/copro.s
opcodes/ChangeLog
opcodes/arm-dis.c

index f8fb4f45685e5d81e807bd34c99a778d728f9f81..a2bac57118b76d0e88f417069ad1374a2f132a52 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>
+
+       * config/tc-arm.c (insns): Change MRC entry to accept APSR_RR instead
+       of just RR.
+
 2010-09-17  Andrew Burgess  <aburgess@broadcom.com>
 
        PR gas/12011
index f1ffe9c4a8d403430017e7b5357ba72aa9734249..cebf2df8138b14a46a2cfa6f67eefb9ab2dd446f 100644 (file)
@@ -16704,7 +16704,7 @@ static const struct asm_opcode insns[] =
  TCE("stc",    c000000, ec000000, 3, (RCP, RCN, ADDRGLDC),             lstc,   lstc),
  TC3("stcl",   c400000, ec400000, 3, (RCP, RCN, ADDRGLDC),             lstc,   lstc),
  TCE("mcr",    e000010, ee000010, 6, (RCP, I7b, RR, RCN, RCN, oI7b),   co_reg, co_reg),
- TCE("mrc",    e100010, ee100010, 6, (RCP, I7b, RR, RCN, RCN, oI7b),   co_reg, co_reg),
+ TCE("mrc",    e100010, ee100010, 6, (RCP, I7b, APSR_RR, RCN, RCN, oI7b),   co_reg, co_reg),
 
 #undef  ARM_VARIANT
 #define ARM_VARIANT  & arm_ext_v2s /* ARM 3 - swp instructions.  */
index 2bd1becf4abc36bb716f7c2691f099cd768676e1..cd5f25c72fee1de6d5302dbac04ae9f864ae7848 100644 (file)
@@ -1,3 +1,9 @@
+2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>
+
+       * gas/arm/copro.s: Add test for APSR_nzcv as a MRC operand.
+       * gas/arm/copro.d: Change pc in MRC to disassemble as APSR_nzcv.  Also
+       add disassembly for test added in copro.s
+
 2010-09-17  Andrew Burgess  <aburgess@broadcom.com>
 
        PR gas/12011
index e041270cac668b541e78d81bad7956c08bc0bb94..d007c81177d727055abe3ffdf5e4231f88703fa2 100644 (file)
@@ -20,7 +20,7 @@ Disassembly of section .text:
 0+028 <[^>]*> 3ca4860c         stccc   6, cr8, \[r4\], #48.*
 0+02c <[^>]*> ed0f7101         stfs    f7, \[pc, #-4\] ; .* <bar>
 0+030 <[^>]*> ee715212         mrc     2, 3, r5, cr1, cr2, \{0\}
-0+034 <[^>]*> aeb1f4f2         mrcge   4, 5, pc, cr1, cr2, \{7\}
+0+034 <[^>]*> aeb1f4f2         mrcge   4, 5, APSR_nzcv, cr1, cr2, \{7\}
 0+038 <[^>]*> ee215711         mcr     7, 1, r5, cr1, cr1, \{0\}
 0+03c <[^>]*> be228519         mcrlt   5, 1, r8, cr2, cr9, \{0\}
 0+040 <[^>]*> ec907300         ldc     3, cr7, \[r0\], \{0\}
@@ -39,3 +39,4 @@ Disassembly of section .text:
 0+074 <[^>]*> ec407efe         mcrr    14, 15, r7, r0, cr14
 0+078 <[^>]*> e1a00000         nop                     ; \(mov r0, r0\)
 0+07c <[^>]*> e1a00000         nop                     ; \(mov r0, r0\)
+0+080 <[^>]*> aeb1f4f2         mrcge   4, 5, APSR_nzcv, cr1, cr2, \{7\}
index b9ef056fb05b06111511e2864be44c43d1898616..0ed0e054358a867bfe50483bb9925bb186b8df15 100644 (file)
@@ -44,3 +44,6 @@ bar:
        # Extra instructions to allow for code alignment in arm-aout target.
        nop
        nop
+
+       # UAL-syntax for MRC with APSR. Pre-UAL was PC
+       mrcge   p4, 5, APSR_nzcv, cr1, cr2, 7
index 992a740aad829cf3bd0a777fa9b869a68ad27062..f7d0f5364fd3271ecbd72c7265d91b7e9ed652de 100644 (file)
@@ -1,3 +1,7 @@
+2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>
+
+       * arm_dis.c (coprocessor_opcodes): Add MRC entry for APSR_nzcv.
+
 2010-09-14  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * mips-opc.c (mips_builtin_opcodes): Add "sync_acquire",
index b16d50fe8cd03e9171dc7886c84420b5302cb2d3..831b26c909da04c261c6b416422fb331e67595bf 100644 (file)
@@ -474,6 +474,7 @@ static const struct opcode32 coprocessor_opcodes[] =
   {ARM_EXT_V5E, 0x0c400000, 0x0ff00000, "mcrr%c\t%8-11d, %4-7d, %12-15R, %16-19r, cr%0-3d"},
   {ARM_EXT_V5E, 0x0c500000, 0x0ff00000, "mrrc%c\t%8-11d, %4-7d, %12-15Ru, %16-19Ru, cr%0-3d"},
   {ARM_EXT_V2, 0x0e000000, 0x0f000010, "cdp%c\t%8-11d, %20-23d, cr%12-15d, cr%16-19d, cr%0-3d, {%5-7d}"},
+  {ARM_EXT_V2, 0x0e10f010, 0x0f10f010, "mrc%c\t%8-11d, %21-23d, APSR_nzcv, cr%16-19d, cr%0-3d, {%5-7d}"},
   {ARM_EXT_V2, 0x0e100010, 0x0f100010, "mrc%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"},
   {ARM_EXT_V2, 0x0e000010, 0x0f100010, "mcr%c\t%8-11d, %21-23d, %12-15R, cr%16-19d, cr%0-3d, {%5-7d}"},
   {ARM_EXT_V2, 0x0c000000, 0x0e100000, "stc%22'l%c\t%8-11d, cr%12-15d, %A"},