//Original:/testcases/core/c_ldimmhalf_lzhi_ibml/c_ldimmhalf_lzhi_ibml.dsp | |
# mach: bfin | |
.include "testutils.inc" | |
start | |
// Spec Reference: ldimmhalf lzhi ibml | |
I0 = 0x2001 (Z); | |
I0.H = 0x2000; | |
I1 = 0x2003 (Z); | |
I1.H = 0x2002; | |
I2 = 0x2005 (Z); | |
I2.H = 0x2004; | |
I3 = 0x2007 (Z); | |
I3.H = 0x2006; | |
L0 = 0x2009 (Z); | |
L0.H = 0x2008; | |
L1 = 0x200b (Z); | |
L1.H = 0x200a; | |
L2 = 0x200d (Z); | |
L2.H = 0x200c; | |
L3 = 0x200f (Z); | |
L3.H = 0x200e; | |
R0 = I0; | |
R1 = I1; | |
R2 = I2; | |
R3 = I3; | |
R4 = L0; | |
R5 = L1; | |
R6 = L2; | |
R7 = L3; | |
CHECKREG r0, 0x20002001; | |
CHECKREG r1, 0x20022003; | |
CHECKREG r2, 0x20042005; | |
CHECKREG r3, 0x20062007; | |
CHECKREG r4, 0x20082009; | |
CHECKREG r5, 0x200a200b; | |
CHECKREG r6, 0x200c200d; | |
CHECKREG r7, 0x200e200f; | |
I0 = 0x0111 (Z); | |
I0.H = 0x1000; | |
I1 = 0x1111 (Z); | |
I1.H = 0x1000; | |
I2 = 0x2222 (Z); | |
I2.H = 0x2000; | |
I3 = 0x3333 (Z); | |
I3.H = 0x3000; | |
L0 = 0x4444 (Z); | |
L0.H = 0x4000; | |
L1 = 0x5555 (Z); | |
L1.H = 0x5000; | |
L2 = 0x6666 (Z); | |
L2.H = 0x6000; | |
L3 = 0x7777 (Z); | |
L3.H = 0x7000; | |
R0 = I0; | |
R1 = I1; | |
R2 = I2; | |
R3 = I3; | |
R4 = L0; | |
R5 = L1; | |
R6 = L2; | |
R7 = L3; | |
CHECKREG r0, 0x10000111; | |
CHECKREG r1, 0x10001111; | |
CHECKREG r2, 0x20002222; | |
CHECKREG r3, 0x30003333; | |
CHECKREG r4, 0x40004444; | |
CHECKREG r5, 0x50005555; | |
CHECKREG r6, 0x60006666; | |
CHECKREG r7, 0x70007777; | |
I0 = 0x8888 (Z); | |
I0.H = 0x8000; | |
I1 = 0x9aaa (Z); | |
I1.H = 0x9000; | |
I2 = 0xabbb (Z); | |
I2.H = 0xa000; | |
I3 = 0xbccc (Z); | |
I3.H = 0xb000; | |
L0 = 0xcddd (Z); | |
L0.H = 0xc000; | |
L1 = 0xdeee (Z); | |
L1.H = 0xd000; | |
L2 = 0xefff (Z); | |
L2.H = 0xe000; | |
L3 = 0xf111 (Z); | |
L3.H = 0xf000; | |
R0 = I0; | |
R1 = I1; | |
R2 = I2; | |
R3 = I3; | |
R4 = L0; | |
R5 = L1; | |
R6 = L2; | |
R7 = L3; | |
CHECKREG r0, 0x80008888; | |
CHECKREG r1, 0x90009aaa; | |
CHECKREG r2, 0xa000abbb; | |
CHECKREG r3, 0xb000bccc; | |
CHECKREG r4, 0xc000cddd; | |
CHECKREG r5, 0xd000deee; | |
CHECKREG r6, 0xe000efff; | |
CHECKREG r7, 0xf000f111; | |
B0 = 0x3001 (Z); | |
B0.H = 0x3000; | |
B1 = 0x3003 (Z); | |
B1.H = 0x3002; | |
B2 = 0x3005 (Z); | |
B2.H = 0x3004; | |
B3 = 0x3007 (Z); | |
B3.H = 0x3006; | |
M0 = 0x3009 (Z); | |
M0.H = 0x3008; | |
M1 = 0x300b (Z); | |
M1.H = 0x300a; | |
M2 = 0x300d (Z); | |
M2.H = 0x300c; | |
M3 = 0x300f (Z); | |
M3.H = 0x300e; | |
R0 = B0; | |
R1 = B1; | |
R2 = B2; | |
R3 = B3; | |
R4 = M0; | |
R5 = M1; | |
R6 = M2; | |
R7 = M3; | |
CHECKREG r0, 0x30003001; | |
CHECKREG r1, 0x30023003; | |
CHECKREG r2, 0x30043005; | |
CHECKREG r3, 0x30063007; | |
CHECKREG r4, 0x30083009; | |
CHECKREG r5, 0x300A300B; | |
CHECKREG r6, 0x300c300d; | |
CHECKREG r7, 0x300e300f; | |
B0 = 0x0110 (Z); | |
B0.H = 0x1000; | |
B1 = 0x1110 (Z); | |
B1.H = 0x1000; | |
B2 = 0x2220 (Z); | |
B2.H = 0x2000; | |
B3 = 0x3330 (Z); | |
B3.H = 0x3000; | |
M0 = 0x4440 (Z); | |
M0.H = 0x4000; | |
M1 = 0x5550 (Z); | |
M1.H = 0x5000; | |
M2 = 0x6660 (Z); | |
M2.H = 0x6000; | |
M3 = 0x7770 (Z); | |
M3.H = 0x7000; | |
R0 = B0; | |
R1 = B1; | |
R2 = B2; | |
R3 = B3; | |
R4 = M0; | |
R5 = M1; | |
R6 = M2; | |
R7 = M3; | |
CHECKREG r0, 0x10000110; | |
CHECKREG r1, 0x10001110; | |
CHECKREG r2, 0x20002220; | |
CHECKREG r3, 0x30003330; | |
CHECKREG r4, 0x40004440; | |
CHECKREG r5, 0x50005550; | |
CHECKREG r6, 0x60006660; | |
CHECKREG r7, 0x70007770; | |
B0 = 0xf880 (Z); | |
B0.H = 0x8000; | |
B1 = 0xfaa0 (Z); | |
B1.H = 0xa000; | |
B2 = 0xfbb0 (Z); | |
B2.H = 0xb000; | |
B3 = 0xfcc0 (Z); | |
B3.H = 0xc000; | |
M0 = 0xfdd0 (Z); | |
M0.H = 0xd000; | |
M1 = 0xfee0 (Z); | |
M1.H = 0xe000; | |
M2 = 0xfff0 (Z); | |
M2.H = 0xf000; | |
M3 = 0xf110 (Z); | |
M3.H = 0x1000; | |
R0 = B0; | |
R1 = B1; | |
R2 = B2; | |
R3 = B3; | |
R4 = M0; | |
R5 = M1; | |
R6 = M2; | |
R7 = M3; | |
CHECKREG r0, 0x8000f880; | |
CHECKREG r1, 0xa000faa0; | |
CHECKREG r2, 0xb000fbb0; | |
CHECKREG r3, 0xc000fcc0; | |
CHECKREG r4, 0xd000fdd0; | |
CHECKREG r5, 0xe000fee0; | |
CHECKREG r6, 0xf000fff0; | |
CHECKREG r7, 0x1000f110; | |
pass |