//Original:/testcases/core/c_dsp32alu_rh_p/c_dsp32alu_rh_p.dsp | |
// Spec Reference: dsp32alu dreg (half) | |
# mach: bfin | |
.include "testutils.inc" | |
start | |
imm32 r0, 0x34678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0x34645515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0xd678891b; | |
imm32 r5, 0x6e89ab1d; | |
imm32 r6, 0x74b45515; | |
imm32 r7, 0x866cc777; | |
R0.H = R0.L + R0.L (NS); | |
R1.H = R0.L + R1.H (NS); | |
R2.H = R0.H + R2.L (NS); | |
R3.H = R0.H + R3.H (NS); | |
R4.H = R0.L + R4.L (NS); | |
R5.H = R0.L + R5.H (NS); | |
R6.H = R0.H + R6.L (NS); | |
R7.H = R0.H + R7.H (NS); | |
CHECKREG r4, 0x122C891B; | |
CHECKREG r5, 0xF79AAB1D; | |
CHECKREG r6, 0x67375515; | |
CHECKREG r7, 0x988EC777; | |
CHECKREG r4, 0x122C891B; | |
CHECKREG r5, 0xF79AAB1D; | |
CHECKREG r6, 0x67375515; | |
CHECKREG r7, 0x988EC777; | |
imm32 r0, 0x12348911; | |
imm32 r1, 0x2e89ab1d; | |
imm32 r2, 0x34f45515; | |
imm32 r3, 0x46d67717; | |
imm32 r4, 0x567b891b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0x7444b515; | |
imm32 r7, 0x86667a77; | |
R0.H = R1.L + R0.L (NS); | |
R1.H = R1.L + R1.H (NS); | |
R2.H = R1.H + R2.L (NS); | |
R3.H = R1.H + R3.H (NS); | |
R4.H = R1.L + R4.L (NS); | |
R5.H = R1.L + R5.H (NS); | |
R6.H = R1.H + R6.L (NS); | |
R7.H = R1.H + R7.H (NS); | |
CHECKREG r4, 0x3438891B; | |
CHECKREG r5, 0x12A6AB1D; | |
CHECKREG r6, 0x8EBBB515; | |
CHECKREG r7, 0x600C7A77; | |
CHECKREG r4, 0x3438891B; | |
CHECKREG r5, 0x12A6AB1D; | |
CHECKREG r6, 0x8EBBB515; | |
CHECKREG r7, 0x600C7A77; | |
imm32 r0, 0x85678911; | |
imm32 r1, 0x3989ab1d; | |
imm32 r2, 0x34445515; | |
imm32 r3, 0x46a67717; | |
imm32 r4, 0x5e78891b; | |
imm32 r5, 0x67d9ab1d; | |
imm32 r6, 0x744b5515; | |
imm32 r7, 0x86668777; | |
R0.H = R2.L + R0.L (NS); | |
R1.H = R2.L + R1.H (NS); | |
R2.H = R2.H + R2.L (NS); | |
R3.H = R2.H + R3.H (NS); | |
R4.H = R2.L + R4.L (NS); | |
R5.H = R2.L + R5.H (NS); | |
R6.H = R2.H + R6.L (NS); | |
R7.L = R2.H + R7.H (NS); | |
CHECKREG r4, 0xDE30891B; | |
CHECKREG r5, 0xBCEEAB1D; | |
CHECKREG r6, 0xDE6E5515; | |
CHECKREG r7, 0x86660FBF; | |
CHECKREG r4, 0xDE30891B; | |
CHECKREG r5, 0xBCEEAB1D; | |
CHECKREG r6, 0xDE6E5515; | |
CHECKREG r7, 0x86660FBF; | |
imm32 r0, 0x25678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0x3e445515; | |
imm32 r3, 0x46d67717; | |
imm32 r4, 0x567f891b; | |
imm32 r5, 0x6789bb1d; | |
imm32 r6, 0x74445515; | |
imm32 r7, 0x86667b77; | |
R0.H = R3.L + R0.L (NS); | |
R1.H = R3.L + R1.H (NS); | |
R2.H = R3.H + R2.L (NS); | |
R3.H = R3.H + R3.H (NS); | |
R4.H = R3.L + R4.L (NS); | |
R5.H = R3.L + R5.H (NS); | |
R6.H = R3.H + R6.L (NS); | |
R7.H = R3.H + R7.H (NS); | |
CHECKREG r4, 0x0032891B; | |
CHECKREG r5, 0xDEA0BB1D; | |
CHECKREG r6, 0xE2C15515; | |
CHECKREG r7, 0x14127B77; | |
CHECKREG r4, 0x0032891B; | |
CHECKREG r5, 0xDEA0BB1D; | |
CHECKREG r6, 0xE2C15515; | |
CHECKREG r7, 0x14127B77; | |
imm32 r0, 0x15678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0x34445515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0x5678891b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0x74445515; | |
imm32 r7, 0x86667777; | |
R0.H = R4.L + R0.L (NS); | |
R1.H = R4.L + R1.H (NS); | |
R2.H = R4.H + R2.L (NS); | |
R3.H = R4.H + R3.H (NS); | |
R4.H = R4.L + R4.L (NS); | |
R5.H = R4.L + R5.H (NS); | |
R6.H = R4.H + R6.L (NS); | |
R7.H = R4.H + R7.H (NS); | |
CHECKREG r4, 0x1236891B; | |
CHECKREG r5, 0xF0A4AB1D; | |
CHECKREG r6, 0x674B5515; | |
CHECKREG r7, 0x989C7777; | |
CHECKREG r4, 0x1236891B; | |
CHECKREG r5, 0xF0A4AB1D; | |
CHECKREG r6, 0x674B5515; | |
CHECKREG r7, 0x989C7777; | |
imm32 r0, 0xa5678911; | |
imm32 r1, 0x2a89ab1d; | |
imm32 r2, 0x34d45515; | |
imm32 r3, 0x466b7717; | |
imm32 r4, 0x5678f91b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0x7444a515; | |
imm32 r7, 0x86667b77; | |
R0.H = R5.L + R0.L (NS); | |
R1.H = R5.L + R1.H (NS); | |
R2.H = R5.H + R2.L (NS); | |
R3.H = R5.H + R3.H (NS); | |
R4.H = R5.L + R4.L (NS); | |
R5.H = R5.L + R5.H (NS); | |
R6.H = R5.H + R6.L (NS); | |
R7.H = R5.H + R7.H (NS); | |
CHECKREG r4, 0xA438F91B; | |
CHECKREG r5, 0x12A6AB1D; | |
CHECKREG r6, 0xB7BBA515; | |
CHECKREG r7, 0x990C7B77; | |
CHECKREG r4, 0xA438F91B; | |
CHECKREG r5, 0x12A6AB1D; | |
CHECKREG r6, 0xB7BBA515; | |
CHECKREG r7, 0x990C7B77; | |
imm32 r0, 0xf5678911; | |
imm32 r1, 0x2f89ab1d; | |
imm32 r2, 0x34445515; | |
imm32 r3, 0x46f67717; | |
imm32 r4, 0x5678891b; | |
imm32 r5, 0x678fab1d; | |
imm32 r6, 0x7444f515; | |
imm32 r7, 0x86667f77; | |
R0.L = R6.L + R0.L (NS); | |
R1.H = R6.L + R1.H (NS); | |
R2.H = R6.H + R2.L (NS); | |
R3.H = R6.H + R3.H (NS); | |
R4.H = R6.L + R4.L (NS); | |
R5.H = R6.L + R5.H (NS); | |
R6.H = R6.H + R6.L (NS); | |
R7.H = R6.H + R7.H (NS); | |
CHECKREG r4, 0x7E30891B; | |
CHECKREG r5, 0x5CA4AB1D; | |
CHECKREG r6, 0x6959F515; | |
CHECKREG r7, 0xEFBF7F77; | |
CHECKREG r4, 0x7E30891B; | |
CHECKREG r5, 0x5CA4AB1D; | |
CHECKREG r6, 0x6959F515; | |
CHECKREG r7, 0xEFBF7F77; | |
imm32 r0, 0x15678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0x34445515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0x5678891b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0x74445515; | |
imm32 r7, 0x86667777; | |
R0.H = R7.L + R0.L (NS); | |
R1.H = R7.L + R1.H (NS); | |
R2.H = R7.H + R2.L (NS); | |
R3.H = R7.H + R3.H (NS); | |
R4.H = R7.L + R4.L (NS); | |
R5.H = R7.L + R5.H (NS); | |
R6.H = R7.H + R6.L (NS); | |
R7.H = R7.H + R7.H (NS); | |
CHECKREG r4, 0x0092891B; | |
CHECKREG r5, 0xDF00AB1D; | |
CHECKREG r6, 0xDB7B5515; | |
CHECKREG r7, 0x0CCC7777; | |
CHECKREG r4, 0x0092891B; | |
CHECKREG r5, 0xDF00AB1D; | |
CHECKREG r6, 0xDB7B5515; | |
CHECKREG r7, 0x0CCC7777; | |
imm32 r0, 0x56678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0x34645515; | |
imm32 r3, 0x466a7717; | |
imm32 r4, 0x5678e91b; | |
imm32 r5, 0x6789af1d; | |
imm32 r6, 0x744455f5; | |
imm32 r7, 0x866677b7; | |
R6.H = R2.L + R3.L (S); | |
R1.H = R4.L + R5.H (S); | |
R5.H = R7.H + R2.L (S); | |
R3.H = R0.H + R0.H (S); | |
R0.H = R3.L + R4.L (S); | |
R2.H = R5.L + R7.H (S); | |
R7.H = R6.H + R7.L (S); | |
R4.H = R1.H + R6.H (S); | |
CHECKREG r4, 0x7FFFE91B; | |
CHECKREG r5, 0xDB7BAF1D; | |
CHECKREG r6, 0x7FFF55F5; | |
CHECKREG r7, 0x7FFF77B7; | |
CHECKREG r4, 0x7FFFE91B; | |
CHECKREG r5, 0xDB7BAF1D; | |
CHECKREG r6, 0x7FFF55F5; | |
CHECKREG r7, 0x7FFF77B7; | |
imm32 r0, 0x95678911; | |
imm32 r1, 0x2989ab1d; | |
imm32 r2, 0x34445515; | |
imm32 r3, 0x46967717; | |
imm32 r4, 0x5679891b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0x74449515; | |
imm32 r7, 0x86667977; | |
R3.H = R4.L + R0.L (S); | |
R1.H = R6.L + R3.H (S); | |
R4.H = R3.H + R2.L (S); | |
R6.H = R7.H + R1.H (S); | |
R2.H = R5.L + R4.L (S); | |
R7.H = R2.L + R7.H (S); | |
R0.H = R1.H + R6.L (S); | |
R5.H = R0.H + R5.H (S); | |
CHECKREG r4, 0xD515891B; | |
CHECKREG r5, 0xE789AB1D; | |
CHECKREG r6, 0x80009515; | |
CHECKREG r7, 0xDB7B7977; | |
CHECKREG r4, 0xD515891B; | |
CHECKREG r5, 0xE789AB1D; | |
CHECKREG r6, 0x80009515; | |
CHECKREG r7, 0xDB7B7977; | |
pass |