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 d20d9bd..42816c4 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 3ca5bd4..573c122 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 bf1fdc0..982f74b 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 0aac53a..ae2ebf7 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 5f4dc68..b75a085 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