blob: fe54a8629dfacbd4ed4c81683a939ca157f97d88 [file] [log] [blame]
//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