blob: 5451e66489d4f06516d5a672d4f9361569657bdb [file] [log] [blame]
#include <stdio.h>
#if defined(__mips_hard_float)
#define TESTINST_CFC1_CTC1(N) \
{ \
unsigned int out = 0; \
__asm__ __volatile__( \
"move $t0, %1" "\n\t" \
"ctc1 $t0, $31" "\n\t" \
"cfc1 $t1, $31" "\n\t" \
"move %0, $t1" "\n\t" \
: "=r" (out) \
: "r" (N) \
: "t0", "t1" \
); \
printf("out=%d, in=%d\n", out, N); \
}
#else
#define TESTINST_CFC1_CTC1(N)
#endif
int main()
{
int i;
printf("--- CTC1, CFC1 ---\n");
for (i = 0; i < 1024; i++) {
TESTINST_CFC1_CTC1(i);
}
return 0;
}