Commit 1b893ef3269532c5b438237da599d338b33b75d0

Authored by edgar_igl
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
tests/cris/Makefile
... ... @@ -55,6 +55,7 @@ TESTCASES += check_cmpxm.tst
55 55 TESTCASES += check_cmp-2.tst
56 56 TESTCASES += check_clrjmp1.tst
57 57 TESTCASES += check_dstep.tst
  58 +TESTCASES += check_ftag.tst
58 59 TESTCASES += check_int64.tst
59 60 # check_jsr is broken.
60 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 +}
... ...