summaryrefslogtreecommitdiffstats
path: root/qemu/tests/tcg/mips/mips64-dsp/extrv_s_h.c
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/tests/tcg/mips/mips64-dsp/extrv_s_h.c')
-rw-r--r--qemu/tests/tcg/mips/mips64-dsp/extrv_s_h.c79
1 files changed, 0 insertions, 79 deletions
diff --git a/qemu/tests/tcg/mips/mips64-dsp/extrv_s_h.c b/qemu/tests/tcg/mips/mips64-dsp/extrv_s_h.c
deleted file mode 100644
index b6dcaebcb..000000000
--- a/qemu/tests/tcg/mips/mips64-dsp/extrv_s_h.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "io.h"
-
-int main(void)
-{
- long long rt, rs, ach, acl, dsp;
- long long result;
-
- ach = 0x05;
- acl = 0xB4CB;
- dsp = 0x07;
- rs = 0x03;
- result = 0x00007FFF;
-
- __asm
- ("wrdsp %1, 0x01\n\t"
- "mthi %3, $ac1\n\t"
- "mtlo %4, $ac1\n\t"
- "extrv_s.h %0, $ac1, %2\n\t"
- "rddsp %1\n\t"
- : "=r"(rt), "+r"(dsp)
- : "r"(rs), "r"(ach), "r"(acl)
- );
- dsp = (dsp >> 23) & 0x01;
- if ((dsp != 1) || (result != rt)) {
- printf("extrv_s.h wrong\n");
-
- return -1;
- }
-
- rs = 0x08;
- ach = 0xffffffff;
- acl = 0x12344321;
- result = 0xffffffffFFFF8000;
- __asm
- ("wrdsp %1, 0x01\n\t"
- "mthi %3, $ac1\n\t"
- "mtlo %4, $ac1\n\t"
- "extrv_s.h %0, $ac1, %2\n\t"
- "rddsp %1\n\t"
- : "=r"(rt), "+r"(dsp)
- : "r"(rs), "r"(ach), "r"(acl)
- );
- dsp = (dsp >> 23) & 0x01;
- if ((dsp != 1) || (result != rt)) {
- printf("extrv_s.h wrong\n");
-
- return -1;
- }
-
- /* Clear dsp */
- dsp = 0;
- __asm
- ("wrdsp %0\n\t"
- :
- : "r"(dsp)
- );
-
- rs = 0x04;
- ach = 0x00;
- acl = 0x4321;
- result = 0x432;
- __asm
- ("wrdsp %1, 0x01\n\t"
- "mthi %3, $ac1\n\t"
- "mtlo %4, $ac1\n\t"
- "extrv_s.h %0, $ac1, %2\n\t"
- "rddsp %1\n\t"
- : "=r"(rt), "+r"(dsp)
- : "r"(rs), "r"(ach), "r"(acl)
- );
- dsp = (dsp >> 23) & 0x01;
- if ((dsp != 0) || (result != rt)) {
- printf("extrv_s.h wrong\n");
-
- return -1;
- }
-
- return 0;
-}