summaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/c_dsp32alu_rh_rnd12_m.s
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/bfin/c_dsp32alu_rh_rnd12_m.s')
-rw-r--r--sim/testsuite/bfin/c_dsp32alu_rh_rnd12_m.s258
1 files changed, 258 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/c_dsp32alu_rh_rnd12_m.s b/sim/testsuite/bfin/c_dsp32alu_rh_rnd12_m.s
new file mode 100644
index 00000000000..daf114a690f
--- /dev/null
+++ b/sim/testsuite/bfin/c_dsp32alu_rh_rnd12_m.s
@@ -0,0 +1,258 @@
+//Original:/proj/frio/dv/testcases/core/c_dsp32alu_rh_rnd12_m/c_dsp32alu_rh_rnd12_m.dsp
+// Spec Reference: dsp32alu dreg (half)
+# mach: bfin
+
+.include "testutils.inc"
+ start
+
+ imm32 r0, 0x45678ad1;
+ imm32 r1, 0x2789ab1d;
+ imm32 r2, 0xf4445545;
+ imm32 r3, 0x46667767;
+ imm32 r4, 0xe678891b;
+ imm32 r5, 0x6f89ab1d;
+ imm32 r6, 0x7444d565;
+ imm32 r7, 0x8666b797;
+ 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, 0x00008AD1;
+ CHECKREG r1, 0x8000AB1D;
+ CHECKREG r2, 0x7fff5545;
+ CHECKREG r3, 0x80007767;
+ CHECKREG r4, 0x7fff891B;
+ CHECKREG r5, 0x8000AB1D;
+ CHECKREG r6, 0x8000D565;
+ CHECKREG r7, 0x7fffB797;
+
+ 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, 0x7fff8911;
+ CHECKREG r1, 0x0000AB1D;
+ CHECKREG r2, 0x7fff5515;
+ CHECKREG r3, 0x80007717;
+ CHECKREG r4, 0x8000891B;
+ CHECKREG r5, 0x8000AB1D;
+ CHECKREG r6, 0x80005515;
+ CHECKREG r7, 0x7fffB777;
+
+ imm32 r0, 0xa5678091;
+ imm32 r1, 0x2789ab1d;
+ imm32 r2, 0xb4445515;
+ imm32 r3, 0x46667717;
+ imm32 r4, 0xd678891b;
+ imm32 r5, 0x6e89ab4d;
+ imm32 r6, 0x74445567;
+ imm32 r7, 0x86967757;
+ 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 r0, 0x7fff8091;
+ CHECKREG r1, 0x8000AB1D;
+ CHECKREG r2, 0x00005515;
+ CHECKREG r3, 0x80007717;
+ CHECKREG r4, 0x7fff891B;
+ CHECKREG r5, 0x8000AB4D;
+ CHECKREG r6, 0x80005567;
+ CHECKREG r7, 0x7fff7757;
+
+ imm32 r0, 0x35678991;
+ imm32 r1, 0x2789ab8d;
+ imm32 r2, 0xd4445515;
+ imm32 r3, 0x46667737;
+ imm32 r4, 0x5678891b;
+ imm32 r5, 0xeab9ab4d;
+ imm32 r6, 0x744e5515;
+ imm32 r7, 0x866e747f;
+ 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, 0x7fff8991;
+ CHECKREG r1, 0x7fffAB8D;
+ CHECKREG r2, 0x7fff5515;
+ CHECKREG r3, 0x00007737;
+ CHECKREG r4, 0x8000891B;
+ CHECKREG r5, 0x7fffAB4D;
+ CHECKREG r6, 0x80005515;
+ CHECKREG r7, 0x7fff747F;
+
+ imm32 r0, 0xe5678931;
+ imm32 r1, 0x2789ab1d;
+ imm32 r2, 0x34e45555;
+ imm32 r3, 0xd6667767;
+ imm32 r4, 0x5675891b;
+ imm32 r5, 0x6789abfd;
+ imm32 r6, 0xa4465515;
+ imm32 r7, 0x8b66e7b7;
+ 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, 0x7fff8931;
+ CHECKREG r1, 0x7fffAB1D;
+ CHECKREG r2, 0x7fff5555;
+ CHECKREG r3, 0x7fff7767;
+ CHECKREG r4, 0x0000891B;
+ CHECKREG r5, 0x8000ABFD;
+ CHECKREG r6, 0x7fff5515;
+ CHECKREG r7, 0x7fffE7B7;
+
+ imm32 r0, 0x35678931;
+ imm32 r1, 0x2789ab4d;
+ imm32 r2, 0x3e445585;
+ imm32 r3, 0x46667717;
+ imm32 r4, 0xe6f8899b;
+ imm32 r5, 0x6789db1d;
+ imm32 r6, 0xf44a5515;
+ imm32 r7, 0x866b77b7;
+ 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, 0x7fff8931;
+ CHECKREG r1, 0x7fffAB4D;
+ CHECKREG r2, 0x7fff5585;
+ CHECKREG r3, 0x7fff7717;
+ CHECKREG r4, 0x7fff899B;
+ CHECKREG r5, 0x0000DB1D;
+ CHECKREG r6, 0x7fff5515;
+ CHECKREG r7, 0x7fff77B7;
+
+ 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, 0x7fff8911;
+ CHECKREG r1, 0x7fffAB1D;
+ CHECKREG r2, 0x80005515;
+ CHECKREG r3, 0x80007717;
+ CHECKREG r4, 0x8000E91B;
+ CHECKREG r5, 0x8000AF1D;
+ CHECKREG r6, 0x00005515;
+ CHECKREG r7, 0x7fffF777;
+
+ imm32 r0, 0xab678051;
+ imm32 r1, 0x2c89a26d;
+ imm32 r2, 0x34d455f5;
+ imm32 r3, 0x466e7717;
+ imm32 r4, 0x567f89bb;
+ imm32 r5, 0x6789ab1d;
+ imm32 r6, 0x744e55a5;
+ imm32 r7, 0x8666ab77;
+ 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, 0x80008051;
+ CHECKREG r1, 0x8000A26D;
+ CHECKREG r2, 0x800055F5;
+ CHECKREG r3, 0x80007717;
+ CHECKREG r4, 0x800089BB;
+ CHECKREG r5, 0x8000AB1D;
+ CHECKREG r6, 0x800055A5;
+ CHECKREG r7, 0x0000AB77;
+
+ imm32 r0, 0x15678901;
+ imm32 r1, 0x2789abad;
+ imm32 r2, 0x34445515;
+ imm32 r3, 0x466677d7;
+ imm32 r4, 0x5678891b;
+ imm32 r5, 0x6789ab1d;
+ imm32 r6, 0x74445535;
+ imm32 r7, 0x86667747;
+ 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, 0x80008901;
+ CHECKREG r1, 0x8000ABAD;
+ CHECKREG r2, 0x99a35515;
+ CHECKREG r3, 0x000077D7;
+ CHECKREG r4, 0x0005891B;
+ CHECKREG r5, 0x8000AB1D;
+ CHECKREG r6, 0x80005535;
+ CHECKREG r7, 0x999e7747;
+
+ imm32 r0, 0x15678121;
+ imm32 r1, 0x2789ab3d;
+ imm32 r2, 0x34445565;
+ imm32 r3, 0x4d667797;
+ imm32 r4, 0x567889ab;
+ imm32 r5, 0x67beabbd;
+ imm32 r6, 0x7b445515;
+ imm32 r7, 0x86d6e777;
+ 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, 0x7fff8121;
+ CHECKREG r1, 0xb44eAB3D;
+ CHECKREG r2, 0x80005565;
+ CHECKREG r3, 0x7fff7797;
+ CHECKREG r4, 0x7fff89AB;
+ CHECKREG r5, 0x7fffABBD;
+ CHECKREG r6, 0x80005515;
+ CHECKREG r7, 0x9297E777;
+
+ pass