diff options
Diffstat (limited to 'tests/tcg/mips/mips32-dsp/dpau_h_qbl.c')
| -rw-r--r-- | tests/tcg/mips/mips32-dsp/dpau_h_qbl.c | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/tests/tcg/mips/mips32-dsp/dpau_h_qbl.c b/tests/tcg/mips/mips32-dsp/dpau_h_qbl.c new file mode 100644 index 00000000..6017b5e7 --- /dev/null +++ b/tests/tcg/mips/mips32-dsp/dpau_h_qbl.c @@ -0,0 +1,27 @@ +#include<stdio.h> +#include<assert.h> + +int main() +{ +    int rs, rt; +    int ach = 5, acl = 3; +    int resulth, resultl; + +    rs        = 0x800000FF; +    rt        = 0x80000002; +    resulth   = 0x05; +    resultl   = 0x4003; +    __asm +        ("mthi       %0, $ac1\n\t" +         "mtlo       %1, $ac1\n\t" +         "dpau.h.qbl $ac1, %2, %3\n\t" +         "mfhi       %0,   $ac1\n\t" +         "mflo       %1,   $ac1\n\t" +         : "+r"(ach), "+r"(acl) +         : "r"(rs), "r"(rt) +        ); +    assert(ach == resulth); +    assert(acl == resultl); + +    return 0; +} | 
