aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-08-16 19:02:00 +0000
committerNick Clifton <nickc@redhat.com>2000-08-16 19:02:00 +0000
commit8cb8bcbabb9d13b10a965bde4c72d38612e17464 (patch)
tree0f31c29b91bf030a2c651c68bca51a9c5712fd53 /gas/testsuite
parente52ef561b84afe0808fbbeb9486b4eb3ce18d097 (diff)
downloadgdb-8cb8bcbabb9d13b10a965bde4c72d38612e17464.zip
gdb-8cb8bcbabb9d13b10a965bde4c72d38612e17464.tar.gz
gdb-8cb8bcbabb9d13b10a965bde4c72d38612e17464.tar.bz2
Tidy up decoding of shift based addressing modes.
Add extra tests for these addressing modes
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/arm/inst.d32
-rw-r--r--gas/testsuite/gas/arm/inst.s34
3 files changed, 73 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index d815495..4cdeffb 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2000-08-16 Nick Clifton <nickc@redhat.com>
+
+ * gas/arm/inst.s: Add tests for edge cases of shift based
+ addressing modes.
+
+ * gas/arm/inst.d: Add expected results for new tests.
+
2000-07-20 Hans-Peter Nilsson <hp@axis.com>
* gas/all/gas.exp: Don't run floating-point tests on CRIS.
diff --git a/gas/testsuite/gas/arm/inst.d b/gas/testsuite/gas/arm/inst.d
index 041f65b..70fff23 100644
--- a/gas/testsuite/gas/arm/inst.d
+++ b/gas/testsuite/gas/arm/inst.d
@@ -167,3 +167,35 @@ Disassembly of section .text:
[ ]*268:.*_wibble.*
0000026c <[^>]*> dafffffe ? ble 0000026c <[^>]*>
[ ]*26c:.*testerfunc.*
+00000270 <[^>]*> e1a01102 ? mov r1, r2, lsl #2
+00000274 <[^>]*> e1a01002 ? mov r1, r2
+00000278 <[^>]*> e1a01f82 ? mov r1, r2, lsl #31
+0000027c <[^>]*> e1a01312 ? mov r1, r2, lsl r3
+00000280 <[^>]*> e1a01122 ? mov r1, r2, lsr #2
+00000284 <[^>]*> e1a01fa2 ? mov r1, r2, lsr #31
+00000288 <[^>]*> e1a01022 ? mov r1, r2, lsr #32
+0000028c <[^>]*> e1a01332 ? mov r1, r2, lsr r3
+00000290 <[^>]*> e1a01142 ? mov r1, r2, asr #2
+00000294 <[^>]*> e1a01fc2 ? mov r1, r2, asr #31
+00000298 <[^>]*> e1a01042 ? mov r1, r2, asr #32
+0000029c <[^>]*> e1a01352 ? mov r1, r2, asr r3
+000002a0 <[^>]*> e1a01162 ? mov r1, r2, ror #2
+000002a4 <[^>]*> e1a01fe2 ? mov r1, r2, ror #31
+000002a8 <[^>]*> e1a01372 ? mov r1, r2, ror r3
+000002ac <[^>]*> e1a01062 ? mov r1, r2, rrx
+000002b0 <[^>]*> e1a01102 ? mov r1, r2, lsl #2
+000002b4 <[^>]*> e1a01002 ? mov r1, r2
+000002b8 <[^>]*> e1a01f82 ? mov r1, r2, lsl #31
+000002bc <[^>]*> e1a01312 ? mov r1, r2, lsl r3
+000002c0 <[^>]*> e1a01122 ? mov r1, r2, lsr #2
+000002c4 <[^>]*> e1a01fa2 ? mov r1, r2, lsr #31
+000002c8 <[^>]*> e1a01022 ? mov r1, r2, lsr #32
+000002cc <[^>]*> e1a01332 ? mov r1, r2, lsr r3
+000002d0 <[^>]*> e1a01142 ? mov r1, r2, asr #2
+000002d4 <[^>]*> e1a01fc2 ? mov r1, r2, asr #31
+000002d8 <[^>]*> e1a01042 ? mov r1, r2, asr #32
+000002dc <[^>]*> e1a01352 ? mov r1, r2, asr r3
+000002e0 <[^>]*> e1a01162 ? mov r1, r2, ror #2
+000002e4 <[^>]*> e1a01fe2 ? mov r1, r2, ror #31
+000002e8 <[^>]*> e1a01372 ? mov r1, r2, ror r3
+000002ec <[^>]*> e1a01062 ? mov r1, r2, rrx
diff --git a/gas/testsuite/gas/arm/inst.s b/gas/testsuite/gas/arm/inst.s
index f76bac9..b162cfc 100644
--- a/gas/testsuite/gas/arm/inst.s
+++ b/gas/testsuite/gas/arm/inst.s
@@ -187,3 +187,37 @@ bar:
blpl hohum
b _wibble
ble testerfunc
+
+ mov r1, r2, lsl #2
+ mov r1, r2, lsl #0
+ mov r1, r2, lsl #31
+ mov r1, r2, lsl r3
+ mov r1, r2, lsr #2
+ mov r1, r2, lsr #31
+ mov r1, r2, lsr #32
+ mov r1, r2, lsr r3
+ mov r1, r2, asr #2
+ mov r1, r2, asr #31
+ mov r1, r2, asr #32
+ mov r1, r2, asr r3
+ mov r1, r2, ror #2
+ mov r1, r2, ror #31
+ mov r1, r2, ror r3
+ mov r1, r2, rrx
+ mov r1, r2, LSL #2
+ mov r1, r2, LSL #0
+ mov r1, r2, LSL #31
+ mov r1, r2, LSL r3
+ mov r1, r2, LSR #2
+ mov r1, r2, LSR #31
+ mov r1, r2, LSR #32
+ mov r1, r2, LSR r3
+ mov r1, r2, ASR #2
+ mov r1, r2, ASR #31
+ mov r1, r2, ASR #32
+ mov r1, r2, ASR r3
+ mov r1, r2, ROR #2
+ mov r1, r2, ROR #31
+ mov r1, r2, ROR r3
+ mov r1, r2, RRX
+ \ No newline at end of file