diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index ff3d25eaee..bf1fdc0257 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2006-03-16 Bernd Schmidt + + * gas/bfin/shift2.s: Add new tests. + * gas/bfin/shift.d: Match changed disassembler behaviour. + * gas/bfin/parallel2.d: Likewise. + * gas/bfin/shift2.d: Likewise; also match new tests. + 2006-03-16 Paul Brook * gas/arm/svc.d: New test. diff --git a/gas/testsuite/gas/bfin/parallel2.d b/gas/testsuite/gas/bfin/parallel2.d index 16352a1bb7..cd508019ac 100644 --- a/gas/testsuite/gas/bfin/parallel2.d +++ b/gas/testsuite/gas/bfin/parallel2.d @@ -71,9 +71,9 @@ Disassembly of section .text: fc: c0 b9 00 00 100: 82 ce 52 07 R3=R2>>>0x16 \|\| R0=\[FP-12\] \|\| NOP; 104: d0 b9 00 00 - 108: 80 ce 7a 52 R1.L=R2.H<<0xf\(S\) \|\| R0=\[FP-8\] \|\| NOP; + 108: 80 ce 7a 52 R1.L = R2.H << 0xf \(S\) \|\| R0=\[FP-8\] \|\| NOP; 10c: e0 b9 00 00 - 110: 80 ce f2 2b R5.H=R2.L>>>0x2 \|\| R0=\[FP-4\] \|\| NOP; + 110: 80 ce f2 2b R5.H = R2.L >>> 0x2 \|\| R0=\[FP-4\] \|\| NOP; 114: f0 b9 00 00 118: 00 ce 14 16 R3.L= ASHIFT R4.H BY R2.L \|\| R0=\[FP-100\] \|\| NOP; 11c: 70 b8 00 00 @@ -91,9 +91,9 @@ Disassembly of section .text: 14c: 10 b8 00 00 150: 03 ce 00 10 A1= ASHIFT A1 BY R0.L \|\| R0=\[FP-128\] \|\| NOP; 154: 00 b8 00 00 - 158: 80 ce 8a a3 R1.H=R2.L>>0xf \|\| R5=W\[P1--\] \(Z\) \|\| NOP; + 158: 80 ce 8a a3 R1.H = R2.L >> 0xf \|\| R5=W\[P1--\] \(Z\) \|\| NOP; 15c: 8d 94 00 00 - 160: 80 ce 00 8e R7.L=R0.L<<0x0 \|\| R5=W\[P2\] \(Z\) \|\| NOP; + 160: 80 ce 00 8e R7.L = R0.L << 0x0 \|\| R5=W\[P2\] \(Z\) \|\| NOP; 164: 15 95 00 00 168: 82 ce 0d 8b R5=R5>>0x1f \|\| R7=W\[P2\+\+\] \(Z\) \|\| NOP; 16c: 17 94 00 00 diff --git a/gas/testsuite/gas/bfin/shift.d b/gas/testsuite/gas/bfin/shift.d index e38435ce91..b355f72d06 100644 --- a/gas/testsuite/gas/bfin/shift.d +++ b/gas/testsuite/gas/bfin/shift.d @@ -21,8 +21,8 @@ Disassembly of section .text: 18: 83 c6 00 10 A1=A1<<0x0; 1c: 82 c6 fd 4e R7=R5<<0x1f\(S\); 20: 82 c6 52 07 R3=R2>>>0x16; - 24: 80 c6 7a 52 R1.L=R2.H<<0xf\(S\); - 28: 80 c6 f2 2b R5.H=R2.L>>>0x2; + 24: 80 c6 7a 52 R1.L = R2.H << 0xf \(S\); + 28: 80 c6 f2 2b R5.H = R2.L >>> 0x2; 2c: 00 4f R0<<=0x0; 2e: f9 4d R1>>>=0x1f; 30: 08 40 R0>>>=R1; @@ -43,8 +43,8 @@ Disassembly of section .text: 5a: 6c 44 P4=P5<<2; 5c: f8 4e R0>>=0x1f; 5e: ff 4f R7<<=0x1f; - 60: 80 c6 8a a3 R1.H=R2.L>>0xf; - 64: 80 c6 00 8e R7.L=R0.L<<0x0; + 60: 80 c6 8a a3 R1.H = R2.L >> 0xf; + 64: 80 c6 00 8e R7.L = R0.L << 0x0; 68: 82 c6 0d 8b R5=R5>>0x1f; 6c: 82 c6 60 80 R0=R0<<0xc; 70: 83 c6 f8 41 A0=A0>>0x1; diff --git a/gas/testsuite/gas/bfin/shift2.d b/gas/testsuite/gas/bfin/shift2.d index d21cb9eeab..75416b1426 100644 --- a/gas/testsuite/gas/bfin/shift2.d +++ b/gas/testsuite/gas/bfin/shift2.d @@ -53,54 +53,54 @@ Disassembly of section .text: 5a: 05 4f R5<<=0x0; 5c: fd 4f R5<<=0x1f; 5e: 2d 4f R5<<=0x5; - 60: 80 c6 00 00 R0.L=R0.L>>>0x0; - 64: 80 c6 88 01 R0.L=R0.L>>>0xf; - 68: 80 c6 00 10 R0.L=R0.H>>>0x0; - 6c: 80 c6 88 11 R0.L=R0.H>>>0xf; - 70: 80 c6 00 20 R0.H=R0.L>>>0x0; - 74: 80 c6 88 21 R0.H=R0.L>>>0xf; - 78: 80 c6 00 30 R0.H=R0.H>>>0x0; - 7c: 80 c6 88 31 R0.H=R0.H>>>0xf; - 80: 80 c6 01 00 R0.L=R1.L>>>0x0; - 84: 80 c6 89 01 R0.L=R1.L>>>0xf; - 88: 80 c6 01 10 R0.L=R1.H>>>0x0; - 8c: 80 c6 89 11 R0.L=R1.H>>>0xf; - 90: 80 c6 01 20 R0.H=R1.L>>>0x0; - 94: 80 c6 89 21 R0.H=R1.L>>>0xf; - 98: 80 c6 01 30 R0.H=R1.H>>>0x0; - 9c: 80 c6 89 31 R0.H=R1.H>>>0xf; - a0: 80 c6 07 00 R0.L=R7.L>>>0x0; - a4: 80 c6 8e 03 R1.L=R6.L>>>0xf; - a8: 80 c6 05 14 R2.L=R5.H>>>0x0; - ac: 80 c6 8c 17 R3.L=R4.H>>>0xf; - b0: 80 c6 03 28 R4.H=R3.L>>>0x0; - b4: 80 c6 8a 2b R5.H=R2.L>>>0xf; - b8: 80 c6 01 3c R6.H=R1.H>>>0x0; - bc: 80 c6 88 3f R7.H=R0.H>>>0xf; - c0: 80 c6 00 40 R0.L=R0.L<<0x0\(S\); - c4: 80 c6 78 40 R0.L=R0.L<<0xf\(S\); - c8: 80 c6 00 50 R0.L=R0.H<<0x0\(S\); - cc: 80 c6 78 50 R0.L=R0.H<<0xf\(S\); - d0: 80 c6 00 60 R0.H=R0.L<<0x0\(S\); - d4: 80 c6 78 60 R0.H=R0.L<<0xf\(S\); - d8: 80 c6 00 70 R0.H=R0.H<<0x0\(S\); - dc: 80 c6 78 70 R0.H=R0.H<<0xf\(S\); - e0: 80 c6 01 40 R0.L=R1.L<<0x0\(S\); - e4: 80 c6 79 40 R0.L=R1.L<<0xf\(S\); - e8: 80 c6 01 50 R0.L=R1.H<<0x0\(S\); - ec: 80 c6 79 50 R0.L=R1.H<<0xf\(S\); - f0: 80 c6 01 60 R0.H=R1.L<<0x0\(S\); - f4: 80 c6 79 60 R0.H=R1.L<<0xf\(S\); - f8: 80 c6 01 70 R0.H=R1.H<<0x0\(S\); - fc: 80 c6 79 70 R0.H=R1.H<<0xf\(S\); - 100: 80 c6 07 40 R0.L=R7.L<<0x0\(S\); - 104: 80 c6 7e 42 R1.L=R6.L<<0xf\(S\); - 108: 80 c6 05 54 R2.L=R5.H<<0x0\(S\); - 10c: 80 c6 7c 56 R3.L=R4.H<<0xf\(S\); - 110: 80 c6 03 68 R4.H=R3.L<<0x0\(S\); - 114: 80 c6 7a 6a R5.H=R2.L<<0xf\(S\); - 118: 80 c6 01 7c R6.H=R1.H<<0x0\(S\); - 11c: 80 c6 78 7e R7.H=R0.H<<0xf\(S\); + 60: 80 c6 00 00 R0.L = R0.L >>> 0x0; + 64: 80 c6 88 01 R0.L = R0.L >>> 0xf; + 68: 80 c6 00 10 R0.L = R0.H >>> 0x0; + 6c: 80 c6 88 11 R0.L = R0.H >>> 0xf; + 70: 80 c6 00 20 R0.H = R0.L >>> 0x0; + 74: 80 c6 88 21 R0.H = R0.L >>> 0xf; + 78: 80 c6 00 30 R0.H = R0.H >>> 0x0; + 7c: 80 c6 88 31 R0.H = R0.H >>> 0xf; + 80: 80 c6 01 00 R0.L = R1.L >>> 0x0; + 84: 80 c6 89 01 R0.L = R1.L >>> 0xf; + 88: 80 c6 01 10 R0.L = R1.H >>> 0x0; + 8c: 80 c6 89 11 R0.L = R1.H >>> 0xf; + 90: 80 c6 01 20 R0.H = R1.L >>> 0x0; + 94: 80 c6 89 21 R0.H = R1.L >>> 0xf; + 98: 80 c6 01 30 R0.H = R1.H >>> 0x0; + 9c: 80 c6 89 31 R0.H = R1.H >>> 0xf; + a0: 80 c6 07 00 R0.L = R7.L >>> 0x0; + a4: 80 c6 8e 03 R1.L = R6.L >>> 0xf; + a8: 80 c6 05 14 R2.L = R5.H >>> 0x0; + ac: 80 c6 8c 17 R3.L = R4.H >>> 0xf; + b0: 80 c6 03 28 R4.H = R3.L >>> 0x0; + b4: 80 c6 8a 2b R5.H = R2.L >>> 0xf; + b8: 80 c6 01 3c R6.H = R1.H >>> 0x0; + bc: 80 c6 88 3f R7.H = R0.H >>> 0xf; + c0: 80 c6 00 40 R0.L = R0.L << 0x0 \(S\); + c4: 80 c6 78 40 R0.L = R0.L << 0xf \(S\); + c8: 80 c6 00 50 R0.L = R0.H << 0x0 \(S\); + cc: 80 c6 78 50 R0.L = R0.H << 0xf \(S\); + d0: 80 c6 00 60 R0.H = R0.L << 0x0 \(S\); + d4: 80 c6 78 60 R0.H = R0.L << 0xf \(S\); + d8: 80 c6 00 70 R0.H = R0.H << 0x0 \(S\); + dc: 80 c6 78 70 R0.H = R0.H << 0xf \(S\); + e0: 80 c6 01 40 R0.L = R1.L << 0x0 \(S\); + e4: 80 c6 79 40 R0.L = R1.L << 0xf \(S\); + e8: 80 c6 01 50 R0.L = R1.H << 0x0 \(S\); + ec: 80 c6 79 50 R0.L = R1.H << 0xf \(S\); + f0: 80 c6 01 60 R0.H = R1.L << 0x0 \(S\); + f4: 80 c6 79 60 R0.H = R1.L << 0xf \(S\); + f8: 80 c6 01 70 R0.H = R1.H << 0x0 \(S\); + fc: 80 c6 79 70 R0.H = R1.H << 0xf \(S\); + 100: 80 c6 07 40 R0.L = R7.L << 0x0 \(S\); + 104: 80 c6 7e 42 R1.L = R6.L << 0xf \(S\); + 108: 80 c6 05 54 R2.L = R5.H << 0x0 \(S\); + 10c: 80 c6 7c 56 R3.L = R4.H << 0xf \(S\); + 110: 80 c6 03 68 R4.H = R3.L << 0x0 \(S\); + 114: 80 c6 7a 6a R5.H = R2.L << 0xf \(S\); + 118: 80 c6 01 7c R6.H = R1.H << 0x0 \(S\); + 11c: 80 c6 78 7e R7.H = R0.H << 0xf \(S\); 120: 82 c6 00 00 R0=R0>>>0x0; 124: 82 c6 08 01 R0=R0>>>0x1f; 128: 82 c6 01 00 R0=R1>>>0x0; @@ -163,10 +163,10 @@ Disassembly of section .text: 1f6: 48 44 P0=P1<<2; 1f8: 8b 4e R3>>=0x11; 1fa: 8b 4f R3<<=0x11; - 1fc: 80 c6 e0 87 R3.L=R0.L>>0x4; - 200: 80 c6 e0 97 R3.L=R0.H>>0x4; - 204: 80 c6 60 a6 R3.H=R0.L<<0xc; - 208: 80 c6 70 b6 R3.H=R0.H<<0xe; + 1fc: 80 c6 e0 87 R3.L = R0.L >> 0x4; + 200: 80 c6 e0 97 R3.L = R0.H >> 0x4; + 204: 80 c6 60 a6 R3.H = R0.L << 0xc; + 208: 80 c6 70 b6 R3.H = R0.H << 0xe; 20c: 82 c6 e6 87 R3=R6>>0x4; 210: 82 c6 26 86 R3=R6<<0x4; 214: 83 c6 c8 41 A0=A0>>0x7; @@ -191,3 +191,32 @@ Disassembly of section .text: 25c: 02 c6 11 c8 R4= ROT R1 BY R2.L; 260: 03 c6 18 80 A0= ROT A0 BY R3.L; 264: 03 c6 38 90 A1= ROT A1 BY R7.L; + 268: 80 c6 01 80 R0.L = R1.L << 0x0; + 26c: 80 c6 09 80 R0.L = R1.L << 0x1; + 270: 80 c6 11 80 R0.L = R1.L << 0x2; + 274: 80 c6 21 80 R0.L = R1.L << 0x4; + 278: 80 c6 01 80 R0.L = R1.L << 0x0; + 27c: 80 c6 f9 81 R0.L = R1.L >> 0x1; + 280: 80 c6 f1 81 R0.L = R1.L >> 0x2; + 284: 80 c6 e1 81 R0.L = R1.L >> 0x4; + 288: 80 c6 f9 01 R0.L = R1.L >>> 0x1; + 28c: 80 c6 f1 01 R0.L = R1.L >>> 0x2; + 290: 80 c6 e1 01 R0.L = R1.L >>> 0x4; + 294: 80 c6 01 90 R0.L = R1.H << 0x0; + 298: 80 c6 09 90 R0.L = R1.H << 0x1; + 29c: 80 c6 11 90 R0.L = R1.H << 0x2; + 2a0: 80 c6 21 90 R0.L = R1.H << 0x4; + 2a4: 80 c6 01 90 R0.L = R1.H << 0x0; + 2a8: 80 c6 f9 91 R0.L = R1.H >> 0x1; + 2ac: 80 c6 f1 91 R0.L = R1.H >> 0x2; + 2b0: 80 c6 e1 91 R0.L = R1.H >> 0x4; + 2b4: 80 c6 f9 11 R0.L = R1.H >>> 0x1; + 2b8: 80 c6 f1 11 R0.L = R1.H >>> 0x2; + 2bc: 80 c6 e1 11 R0.L = R1.H >>> 0x4; + 2c0: 80 c6 01 50 R0.L = R1.H << 0x0 \(S\); + 2c4: 80 c6 09 50 R0.L = R1.H << 0x1 \(S\); + 2c8: 80 c6 11 50 R0.L = R1.H << 0x2 \(S\); + 2cc: 80 c6 21 50 R0.L = R1.H << 0x4 \(S\); + 2d0: 80 c6 f9 51 R0.L = R1.H >>> 0x1 \(S\); + 2d4: 80 c6 f1 51 R0.L = R1.H >>> 0x2 \(S\); + 2d8: 80 c6 e1 51 R0.L = R1.H >>> 0x4 \(S\); diff --git a/gas/testsuite/gas/bfin/shift2.s b/gas/testsuite/gas/bfin/shift2.s index 163d889946..69377bcd10 100755 --- a/gas/testsuite/gas/bfin/shift2.s +++ b/gas/testsuite/gas/bfin/shift2.s @@ -256,3 +256,35 @@ r4 = rot r1 by r2.l ; a0 = rot a0 by r3.l ; a1 = rot a1 by r7.l ; +r0.l = r1.l << 0; +r0.l = r1.l << 1; +r0.l = r1.l << 2; +r0.l = r1.l << 4; +r0.l = r1.l >> 0; +r0.l = r1.l >> 1; +r0.l = r1.l >> 2; +r0.l = r1.l >> 4; +r0.l = r1.l >>> 1; +r0.l = r1.l >>> 2; +r0.l = r1.l >>> 4; + +r0.l = r1.h << 0; +r0.l = r1.h << 1; +r0.l = r1.h << 2; +r0.l = r1.h << 4; +r0.l = r1.h >> 0; +r0.l = r1.h >> 1; +r0.l = r1.h >> 2; +r0.l = r1.h >> 4; +r0.l = r1.h >>> 1; +r0.l = r1.h >>> 2; +r0.l = r1.h >>> 4; + +r0.l = r1.h << 0 (S); +r0.l = r1.h << 1 (S); +r0.l = r1.h << 2 (S); +r0.l = r1.h << 4 (S); +r0.l = r1.h >>> 1 (S); +r0.l = r1.h >>> 2 (S); +r0.l = r1.h >>> 4 (S); +