//Original:/proj/frio/dv/testcases/core/c_dsp32alu_rh_rnd12_p/c_dsp32alu_rh_rnd12_p.dsp | |
// Spec Reference: dsp32alu dreg (half) | |
# mach: bfin | |
.include "testutils.inc" | |
start | |
R0 = 0; | |
ASTAT = R0; | |
imm32 r0, 0x45678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0xf4445515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0xe678891b; | |
imm32 r5, 0x6f89ab1d; | |
imm32 r6, 0x7444d515; | |
imm32 r7, 0x8666b777; | |
R0.H = R0 + R0 (RND12); | |
R1.H = R0 + R1 (RND12); | |
R2.H = R0 + R2 (RND12); | |
R3.H = R0 + R3 (RND12); | |
R4.H = R0 + R4 (RND12); | |
R5.H = R0 + R5 (RND12); | |
R6.H = R0 + R6 (RND12); | |
R7.H = R0 + R7 (RND12); | |
CHECKREG r0, 0x7FFF8911; | |
CHECKREG r1, 0x7fffAB1D; | |
CHECKREG r2, 0x7fff5515; | |
CHECKREG r3, 0x7fff7717; | |
CHECKREG r4, 0x7fff891B; | |
CHECKREG r5, 0x7fffAB1D; | |
CHECKREG r6, 0x7fffD515; | |
CHECKREG r7, 0x6664B777; | |
imm32 r0, 0xd5678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0xa4445515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0x5b78891b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0x74e45515; | |
imm32 r7, 0x86a6b777; | |
R0.H = R1 + R0 (RND12); | |
R1.H = R1 + R1 (RND12); | |
R2.H = R1 + R2 (RND12); | |
R3.H = R1 + R3 (RND12); | |
R4.H = R1 + R4 (RND12); | |
R5.H = R1 + R5 (RND12); | |
R6.H = R1 + R6 (RND12); | |
R7.H = R1 + R7 (RND12); | |
CHECKREG r0, 0xcf138911; | |
CHECKREG r1, 0x7FFFAB1D; | |
CHECKREG r2, 0x7fff5515; | |
CHECKREG r3, 0x7fff7717; | |
CHECKREG r4, 0x7fff891B; | |
CHECKREG r5, 0x7fffAB1D; | |
CHECKREG r6, 0x7fff5515; | |
CHECKREG r7, 0x6A66B777; | |
imm32 r0, 0xa5678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0xb4445515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0xd678891b; | |
imm32 r5, 0x6e89ab1d; | |
imm32 r6, 0x74445515; | |
imm32 r7, 0x86967777; | |
R0.H = R2 + R0 (RND12); | |
R1.H = R2 + R1 (RND12); | |
R2.H = R2 + R2 (RND12); | |
R3.H = R2 + R3 (RND12); | |
R4.H = R2 + R4 (RND12); | |
R5.H = R2 + R5 (RND12); | |
R6.H = R2 + R6 (RND12); | |
R7.H = R2 + R7 (RND12); | |
CHECKREG r4, 0x8000891B; | |
CHECKREG r5, 0x8000AB1D; | |
CHECKREG r6, 0x80005515; | |
CHECKREG r7, 0x80007777; | |
CHECKREG r4, 0x8000891B; | |
CHECKREG r5, 0x8000AB1D; | |
CHECKREG r6, 0x80005515; | |
CHECKREG r7, 0x80007777; | |
imm32 r0, 0x35678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0xd4445515; | |
imm32 r3, 0x46667717; | |
imm32 r4, 0x5678891b; | |
imm32 r5, 0xeab9ab1d; | |
imm32 r6, 0x744e5515; | |
imm32 r7, 0x866e777f; | |
R0.H = R3 + R0 (RND12); | |
R1.H = R3 + R1 (RND12); | |
R2.H = R3 + R2 (RND12); | |
R3.H = R3 + R3 (RND12); | |
R4.H = R3 + R4 (RND12); | |
R5.H = R3 + R5 (RND12); | |
R6.H = R3 + R6 (RND12); | |
R7.H = R3 + R7 (RND12); | |
CHECKREG r0, 0x7FFF8911; | |
CHECKREG r1, 0x7FFFAB1D; | |
CHECKREG r2, 0x7FFF5515; | |
CHECKREG r3, 0x7FFF7717; | |
CHECKREG r4, 0x7fff891B; | |
CHECKREG r5, 0x7fffAB1D; | |
CHECKREG r6, 0x7fff5515; | |
CHECKREG r7, 0x66df777F; | |
imm32 r0, 0xe5678911; | |
imm32 r1, 0x2789ab1d; | |
imm32 r2, 0x34e45515; | |
imm32 r3, 0xd6667717; | |
imm32 r4, 0x5675891b; | |
imm32 r5, 0x6789ab1d; | |
imm32 r6, 0xa4465515; | |
imm32 r7, 0x8b66e777; | |
R0.H = R4 + R0 (RND12); | |
R1.H = R4 + R1 (RND12); | |
R2.H = R4 + R2 (RND12); | |
R3.H = R4 + R3 (RND12); | |
R4.H = R4 + R4 (RND12); | |
R5.H = R4 + R5 (RND12); | |
R6.H = R4 + R6 (RND12); | |
R7.H = R4 + R7 (RND12); | |
CHECKREG r0, 0x7FFF8911; | |
CHECKREG r1, 0x7FFFAB1D; | |
CHECKREG r2, 0x7FFF5515; | |
CHECKREG r3, 0x7FFF7717; | |
CHECKREG r4, 0x7FFF891B; | |
CHECKREG r5, 0x7fffAB1D; | |
CHECKREG r6, 0x7fff5515; | |
CHECKREG r7, 0x7fffE777; | |
imm32 r0, 0x35678111; | |
imm32 r1, 0x2789a21d; | |
imm32 r2, 0x3e445535; | |
imm32 r3, 0x46667757; | |
imm32 r4, 0xe6f8891b; | |
imm32 r5, 0x6789db7d; | |
imm32 r6, 0xf44a5595; | |
imm32 r7, 0x866b7770; | |
R0.H = R5 + R0 (RND12); | |
R1.H = R5 + R1 (RND12); | |
R2.H = R5 + R2 (RND12); | |
R3.H = R5 + R3 (RND12); | |
R4.H = R5 + R4 (RND12); | |
R5.H = R5 + R5 (RND12); | |
R6.H = R5 + R6 (RND12); | |
R7.H = R5 + R7 (RND12); | |
CHECKREG r0, 0x7FFF8111; | |
CHECKREG r1, 0x7FFFA21D; | |
CHECKREG r2, 0x7fff5535; | |
CHECKREG r3, 0x7FFF7757; | |
CHECKREG r4, 0x7FFF891B; | |
CHECKREG r5, 0x7FFFDB7D; | |
CHECKREG r6, 0x7fff5595; | |
CHECKREG r7, 0x66b57770; | |
imm32 r0, 0xb5678911; | |
imm32 r1, 0xc789ab1d; | |
imm32 r2, 0x3ab45515; | |
imm32 r3, 0x466b7717; | |
imm32 r4, 0x4678e91b; | |
imm32 r5, 0x6789af1d; | |
imm32 r6, 0xf4445515; | |
imm32 r7, 0x86e6f777; | |
R0.H = R6 + R0 (RND12); | |
R1.H = R6 + R1 (RND12); | |
R2.H = R6 + R2 (RND12); | |
R3.H = R6 + R3 (RND12); | |
R4.H = R6 + R4 (RND12); | |
R5.H = R6 + R5 (RND12); | |
R6.H = R6 + R6 (RND12); | |
R7.H = R6 + R7 (RND12); | |
CHECKREG r0, 0x80008911; | |
CHECKREG r1, 0x8000AB1D; | |
CHECKREG r2, 0x7fff5515; | |
CHECKREG r3, 0x7FFF7717; | |
CHECKREG r4, 0x7FFFE91B; | |
CHECKREG r5, 0x7FFFAF1D; | |
CHECKREG r6, 0x80005515; | |
CHECKREG r7, 0x8000F777; | |
imm32 r0, 0xab678021; | |
imm32 r1, 0x2c89a33d; | |
imm32 r2, 0x34d45575; | |
imm32 r3, 0x466e7797; | |
imm32 r4, 0x567f89fb; | |
imm32 r5, 0x6789abdd; | |
imm32 r6, 0x744e5515; | |
imm32 r7, 0x8666ab87; | |
R0.H = R7 + R0 (RND12); | |
R1.H = R7 + R1 (RND12); | |
R2.H = R7 + R2 (RND12); | |
R3.H = R7 + R3 (RND12); | |
R4.H = R7 + R4 (RND12); | |
R5.H = R7 + R5 (RND12); | |
R6.H = R7 + R6 (RND12); | |
R7.H = R7 + R7 (RND12); | |
CHECKREG r0, 0x80008021; | |
CHECKREG r1, 0x8000A33D; | |
CHECKREG r2, 0x80005575; | |
CHECKREG r3, 0x80007797; | |
CHECKREG r4, 0x800089FB; | |
CHECKREG r5, 0x8000ABDD; | |
CHECKREG r6, 0xab505515; | |
CHECKREG r7, 0x8000AB87; | |
imm32 r0, 0x15678901; | |
imm32 r1, 0x2789ab2d; | |
imm32 r2, 0x34445535; | |
imm32 r3, 0x46667747; | |
imm32 r4, 0x56788915; | |
imm32 r5, 0x6789ab6d; | |
imm32 r6, 0x74445518; | |
imm32 r7, 0x86667797; | |
R6.H = R2 + R3 (RND12); | |
R1.H = R4 + R5 (RND12); | |
R5.H = R7 + R2 (RND12); | |
R3.H = R0 + R0 (RND12); | |
R0.H = R3 + R4 (RND12); | |
R2.H = R5 + R7 (RND12); | |
R7.H = R6 + R7 (RND12); | |
R4.H = R1 + R6 (RND12); | |
CHECKREG r0, 0x7fff8901; | |
CHECKREG r1, 0x7FFFAB2D; | |
CHECKREG r2, 0x80005535; | |
CHECKREG r3, 0x7FFF7747; | |
CHECKREG r4, 0x7fff8915; | |
CHECKREG r5, 0x8000AB6D; | |
CHECKREG r6, 0x7FFF5518; | |
CHECKREG r7, 0x665D7797; | |
imm32 r0, 0x35678911; | |
imm32 r1, 0x2489ab1d; | |
imm32 r2, 0x34545565; | |
imm32 r3, 0x4d6677b7; | |
imm32 r4, 0x567889db; | |
imm32 r5, 0x67beab1d; | |
imm32 r6, 0x7b445595; | |
imm32 r7, 0x86d6e707; | |
R3.H = R4 + R0 (RND12); | |
R1.H = R6 + R3 (RND12); | |
R4.H = R3 + R2 (RND12); | |
R6.H = R7 + R1 (RND12); | |
R2.H = R5 + R4 (RND12); | |
R7.H = R2 + R7 (RND12); | |
R0.H = R1 + R6 (RND12); | |
R5.H = R0 + R5 (RND12); | |
CHECKREG r0, 0x7fff8911; | |
CHECKREG r1, 0x7fffAB1D; | |
CHECKREG r2, 0x7FFF5565; | |
CHECKREG r3, 0x7FFF77B7; | |
CHECKREG r4, 0x7fff89DB; | |
CHECKREG r5, 0x7FFFAB1D; | |
CHECKREG r6, 0x6d695595; | |
CHECKREG r7, 0x6D64E707; | |
pass |