Commit 1b893ef3269532c5b438237da599d338b33b75d0
1 parent
5d4a534d
Add testcase for CRIS ftag/fidx cache flushing insns.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3991 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
34 additions
and
0 deletions
tests/cris/Makefile
| @@ -55,6 +55,7 @@ TESTCASES += check_cmpxm.tst | @@ -55,6 +55,7 @@ TESTCASES += check_cmpxm.tst | ||
| 55 | TESTCASES += check_cmp-2.tst | 55 | TESTCASES += check_cmp-2.tst |
| 56 | TESTCASES += check_clrjmp1.tst | 56 | TESTCASES += check_clrjmp1.tst |
| 57 | TESTCASES += check_dstep.tst | 57 | TESTCASES += check_dstep.tst |
| 58 | +TESTCASES += check_ftag.tst | ||
| 58 | TESTCASES += check_int64.tst | 59 | TESTCASES += check_int64.tst |
| 59 | # check_jsr is broken. | 60 | # check_jsr is broken. |
| 60 | #TESTCASES += check_jsr.tst | 61 | #TESTCASES += check_jsr.tst |
tests/cris/check_ftag.c
0 → 100644
| 1 | +#include <stdio.h> | ||
| 2 | +#include <stdlib.h> | ||
| 3 | +#include <stdint.h> | ||
| 4 | +#include "sys.h" | ||
| 5 | +#include "crisutils.h" | ||
| 6 | + | ||
| 7 | +extern inline void cris_ftag_i(unsigned int x) { | ||
| 8 | + register unsigned int v asm("$r10") = x; | ||
| 9 | + asm ("ftagi\t[%0]\n" : : "r" (v) ); | ||
| 10 | +} | ||
| 11 | +extern inline void cris_ftag_d(unsigned int x) { | ||
| 12 | + register unsigned int v asm("$r10") = x; | ||
| 13 | + asm ("ftagd\t[%0]\n" : : "r" (v) ); | ||
| 14 | +} | ||
| 15 | +extern inline void cris_fidx_i(unsigned int x) { | ||
| 16 | + register unsigned int v asm("$r10") = x; | ||
| 17 | + asm ("fidxi\t[%0]\n" : : "r" (v) ); | ||
| 18 | +} | ||
| 19 | +extern inline void cris_fidx_d(unsigned int x) { | ||
| 20 | + register unsigned int v asm("$r10") = x; | ||
| 21 | + asm ("fidxd\t[%0]\n" : : "r" (v) ); | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +int main(void) | ||
| 26 | +{ | ||
| 27 | + cris_ftag_i(0); | ||
| 28 | + cris_ftag_d(0); | ||
| 29 | + cris_fidx_i(0); | ||
| 30 | + cris_fidx_d(0); | ||
| 31 | + pass(); | ||
| 32 | + return 0; | ||
| 33 | +} |