//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 |