2006-03-17 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Fri, 17 Mar 2006 14:03:36 +0000 (14:03 +0000)
committerPaul Brook <paul@codesourcery.com>
Fri, 17 Mar 2006 14:03:36 +0000 (14:03 +0000)
gas/
* config/tc-arm.c (insns): Add ldm and stm.
gas/testsuite/
* gas/arm/thumb32.d: Add ldm and stm tests.
* gas/arm/thumb32.s: Ditto.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/thumb32.d
gas/testsuite/gas/arm/thumb32.s

index d20d9bd369b97a275219400c17a5243ac7fad917..42816c4830b5620336f38dd66c5ed3138a0ce02f 100644 (file)
@@ -1,3 +1,7 @@
+2006-03-17  Paul Brook  <paul@codesourcery.com>
+
+       * config/tc-arm.c (insns): Add ldm and stm.
+
 2006-03-17  Ben Elliston  <bje@au.ibm.com>
 
        PR gas/2446
index 3ca5bd423001fd9a6cd0b493b0bb67d919a25658..573c1227b9d557a870c6c497e0a4c65bea15510f 100644 (file)
@@ -8944,8 +8944,10 @@ static const struct asm_opcode insns[] =
  tCE(str,      4000000, str,      2, (RR, ADDR),    ldst, t_ldst),
  tC3(strb,     4400000, strb,     2, (RR, ADDR),    ldst, t_ldst),
 
+ tCE(stm,      8800000, stmia,    2, (RRw, REGLST), ldmstm, t_ldmstm),
  tC3(stmia,    8800000, stmia,    2, (RRw, REGLST), ldmstm, t_ldmstm),
  tC3(stmea,    8800000, stmia,    2, (RRw, REGLST), ldmstm, t_ldmstm),
+ tCE(ldm,      8900000, ldmia,    2, (RRw, REGLST), ldmstm, t_ldmstm),
  tC3(ldmia,    8900000, ldmia,    2, (RRw, REGLST), ldmstm, t_ldmstm),
  tC3(ldmfd,    8900000, ldmia,    2, (RRw, REGLST), ldmstm, t_ldmstm),
 
index bf1fdc02574fbd7260e63e064718d96bdd06e7b9..982f74b246ab82f26dbae7bd09d77ae2513dac61 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-17  Paul Brook  <paul@codesourcery.com>
+
+       * gas/arm/thumb32.d: Add ldm and stm tests.
+       * gas/arm/thumb32.s: Ditto.
+
 2006-03-16  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * gas/bfin/shift2.s: Add new tests.
index 0aac53a0cad179f248de0602c04d13f67cbe4ea7..ae2ebf7f43404a8f287354d22390d7553e601899 100644 (file)
@@ -944,3 +944,13 @@ Disassembly of section .text:
 0[0-9a-f]+ <[^>]+> f85d 8b04   ldr.w   r8, \[sp\], #4
 0[0-9a-f]+ <[^>]+> e930 0580   ldmdb   r0!, \{r7, r8, sl\}
 0[0-9a-f]+ <[^>]+> e920 0580   stmdb   r0!, \{r7, r8, sl\}
+0[0-9a-f]+ <[^>]+> c806        ldmia   r0!, \{r1, r2\}
+0[0-9a-f]+ <[^>]+> c006        stmia   r0!, \{r1, r2\}
+0[0-9a-f]+ <[^>]+> e890 0300   ldmia.w r0, \{r8, r9\}
+0[0-9a-f]+ <[^>]+> e880 0300   stmia.w r0, \{r8, r9\}
+0[0-9a-f]+ <[^>]+> bf01        itttt   eq
+0[0-9a-f]+ <[^>]+> c806        ldmia   r0!, \{r1, r2\}
+0[0-9a-f]+ <[^>]+> c006        stmia   r0!, \{r1, r2\}
+0[0-9a-f]+ <[^>]+> e890 0300   ldmia.w r0, \{r8, r9\}
+0[0-9a-f]+ <[^>]+> e880 0300   stmia.w r0, \{r8, r9\}
+0[0-9a-f]+ <[^>]+> bf00        nop
index 5f4dc68856e8d649d415da4ebf722cb0f0c0c14f..b75a0850f384cac1b2eea227697c428b0d98adad 100644 (file)
@@ -758,3 +758,14 @@ xta:
 
        ldmdb   r0!, {r7,r8,r10}
        stmdb   r0!, {r7,r8,r10}
+
+       ldm     r0!, {r1, r2}
+       stm     r0!, {r1, r2}
+       ldm     r0, {r8, r9}
+       stm     r0, {r8, r9}
+       itttt eq
+       ldmeq   r0!, {r1, r2}
+       stmeq   r0!, {r1, r2}
+       ldmeq   r0, {r8, r9}
+       stmeq   r0, {r8, r9}
+       nop