mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
290 lines
4.2 KiB
ArmAsm
290 lines
4.2 KiB
ArmAsm
|
//Original:/testcases/core/c_dagmodik_lnz_imltbl/c_dagmodik_lnz_imltbl.dsp
|
||
|
// Spec Reference: dagmodik l not zero & i+m < b
|
||
|
# mach: bfin
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
start
|
||
|
|
||
|
|
||
|
INIT_R_REGS 0;
|
||
|
|
||
|
imm32 i0, 0x00001000;
|
||
|
imm32 i1, 0x00001100;
|
||
|
imm32 i2, 0x00001010;
|
||
|
imm32 i3, 0x00001001;
|
||
|
|
||
|
imm32 b0, 0x0000100e;
|
||
|
imm32 b1, 0x0000110c;
|
||
|
imm32 b2, 0x0000101a;
|
||
|
imm32 b3, 0x00001008;
|
||
|
|
||
|
imm32 l0, 0x000000a1;
|
||
|
imm32 l1, 0x000000b2;
|
||
|
imm32 l2, 0x000000c3;
|
||
|
imm32 l3, 0x000000d4;
|
||
|
|
||
|
imm32 m0, 0x00000005;
|
||
|
imm32 m1, 0x00000004;
|
||
|
imm32 m2, 0x00000003;
|
||
|
imm32 m3, 0x00000002;
|
||
|
|
||
|
I0 += 2;
|
||
|
I1 += 2;
|
||
|
I2 += 2;
|
||
|
I3 += 2;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
I0 += 2;
|
||
|
I1 += 2;
|
||
|
I2 += 2;
|
||
|
I3 += 2;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x00001002;
|
||
|
CHECKREG r1, 0x00001102;
|
||
|
CHECKREG r2, 0x00001012;
|
||
|
CHECKREG r3, 0x00001003;
|
||
|
CHECKREG r4, 0x00001004;
|
||
|
CHECKREG r5, 0x00001104;
|
||
|
CHECKREG r6, 0x00001014;
|
||
|
CHECKREG r7, 0x00001005;
|
||
|
|
||
|
|
||
|
I0 -= 2;
|
||
|
I1 -= 2;
|
||
|
I2 -= 2;
|
||
|
I3 -= 2;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
I0 -= 2;
|
||
|
I1 -= 2;
|
||
|
I2 -= 2;
|
||
|
I3 -= 2;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x000010A3;
|
||
|
CHECKREG r1, 0x000011B4;
|
||
|
CHECKREG r2, 0x000010D5;
|
||
|
CHECKREG r3, 0x000010D7;
|
||
|
CHECKREG r4, 0x000010A1;
|
||
|
CHECKREG r5, 0x000011B2;
|
||
|
CHECKREG r6, 0x000010D3;
|
||
|
CHECKREG r7, 0x000010D5;
|
||
|
|
||
|
I0 += 4;
|
||
|
I1 += 4;
|
||
|
I2 += 4;
|
||
|
I3 += 4;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
I0 += 4;
|
||
|
I1 += 4;
|
||
|
I2 += 4;
|
||
|
I3 += 4;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x000010A5;
|
||
|
CHECKREG r1, 0x000011B6;
|
||
|
CHECKREG r2, 0x000010D7;
|
||
|
CHECKREG r3, 0x000010D9;
|
||
|
CHECKREG r4, 0x000010A9;
|
||
|
CHECKREG r5, 0x000011BA;
|
||
|
CHECKREG r6, 0x000010DB;
|
||
|
CHECKREG r7, 0x00001009;
|
||
|
|
||
|
I0 -= 4;
|
||
|
I0 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
CHECKREG r0, 0x000010A1;
|
||
|
CHECKREG r1, 0x000011B2;
|
||
|
CHECKREG r2, 0x000010D3;
|
||
|
CHECKREG r3, 0x000010D5;
|
||
|
CHECKREG r4, 0x000010A9;
|
||
|
CHECKREG r5, 0x000011BA;
|
||
|
CHECKREG r6, 0x000010DB;
|
||
|
CHECKREG r7, 0x00001009;
|
||
|
|
||
|
I0 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
I0 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x000010A1;
|
||
|
CHECKREG r1, 0x000011B2;
|
||
|
CHECKREG r2, 0x000010D3;
|
||
|
CHECKREG r3, 0x000010D5;
|
||
|
CHECKREG r4, 0x00001099;
|
||
|
CHECKREG r5, 0x000011AA;
|
||
|
CHECKREG r6, 0x000010CB;
|
||
|
CHECKREG r7, 0x000010CD;
|
||
|
|
||
|
// i+m = b+l
|
||
|
imm32 i0, 0x00001000;
|
||
|
imm32 i1, 0x00001100;
|
||
|
imm32 i2, 0x00001010;
|
||
|
imm32 i3, 0x00001001;
|
||
|
|
||
|
imm32 b0, 0x0000100e;
|
||
|
imm32 b1, 0x0000110c;
|
||
|
imm32 b2, 0x0000101a;
|
||
|
imm32 b3, 0x00001008;
|
||
|
|
||
|
imm32 l0, 0x00000011;
|
||
|
imm32 l1, 0x00000012;
|
||
|
imm32 l2, 0x00000013;
|
||
|
imm32 l3, 0x00000014;
|
||
|
|
||
|
imm32 m0, 0x00000002;
|
||
|
imm32 m1, 0x00000003;
|
||
|
imm32 m2, 0x00000004;
|
||
|
imm32 m3, 0x00000005;
|
||
|
I0 += 2;
|
||
|
I1 += 2;
|
||
|
I2 += 2;
|
||
|
I3 += 2;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
I0 += 2;
|
||
|
I1 += 2;
|
||
|
I2 += 2;
|
||
|
I3 += 2;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x00001002;
|
||
|
CHECKREG r1, 0x00001102;
|
||
|
CHECKREG r2, 0x00001012;
|
||
|
CHECKREG r3, 0x00001003;
|
||
|
CHECKREG r4, 0x00001004;
|
||
|
CHECKREG r5, 0x00001104;
|
||
|
CHECKREG r6, 0x00001014;
|
||
|
CHECKREG r7, 0x00001005;
|
||
|
|
||
|
|
||
|
I0 -= 2;
|
||
|
I1 -= 2;
|
||
|
I2 -= 2;
|
||
|
I3 -= 2;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
I0 -= 2;
|
||
|
I1 -= 2;
|
||
|
I2 -= 2;
|
||
|
I3 -= 2;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x00001013;
|
||
|
CHECKREG r1, 0x00001114;
|
||
|
CHECKREG r2, 0x00001025;
|
||
|
CHECKREG r3, 0x00001017;
|
||
|
CHECKREG r4, 0x00001011;
|
||
|
CHECKREG r5, 0x00001112;
|
||
|
CHECKREG r6, 0x00001023;
|
||
|
CHECKREG r7, 0x00001015;
|
||
|
|
||
|
I0 += 4;
|
||
|
I1 += 4;
|
||
|
I2 += 4;
|
||
|
I3 += 4;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
I0 += 4;
|
||
|
I1 += 4;
|
||
|
I2 += 4;
|
||
|
I3 += 4;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x00001015;
|
||
|
CHECKREG r1, 0x00001116;
|
||
|
CHECKREG r2, 0x00001027;
|
||
|
CHECKREG r3, 0x00001019;
|
||
|
CHECKREG r4, 0x00001019;
|
||
|
CHECKREG r5, 0x0000111A;
|
||
|
CHECKREG r6, 0x0000102B;
|
||
|
CHECKREG r7, 0x00001009;
|
||
|
|
||
|
I0 -= 4;
|
||
|
I0 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
R0 = I0;
|
||
|
R1 = I1;
|
||
|
R2 = I2;
|
||
|
R3 = I3;
|
||
|
CHECKREG r0, 0x00001011;
|
||
|
CHECKREG r1, 0x00001112;
|
||
|
CHECKREG r2, 0x00001023;
|
||
|
CHECKREG r3, 0x00001015;
|
||
|
CHECKREG r4, 0x00001019;
|
||
|
CHECKREG r5, 0x0000111A;
|
||
|
CHECKREG r6, 0x0000102B;
|
||
|
CHECKREG r7, 0x00001009;
|
||
|
|
||
|
I0 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
I0 -= 4;
|
||
|
I1 -= 4;
|
||
|
I2 -= 4;
|
||
|
I3 -= 4;
|
||
|
R4 = I0;
|
||
|
R5 = I1;
|
||
|
R6 = I2;
|
||
|
R7 = I3;
|
||
|
CHECKREG r0, 0x00001011;
|
||
|
CHECKREG r1, 0x00001112;
|
||
|
CHECKREG r2, 0x00001023;
|
||
|
CHECKREG r3, 0x00001015;
|
||
|
CHECKREG r4, 0x0000101A;
|
||
|
CHECKREG r5, 0x0000111C;
|
||
|
CHECKREG r6, 0x0000101B;
|
||
|
CHECKREG r7, 0x0000100D;
|
||
|
|
||
|
|
||
|
|
||
|
pass
|