]> git.proxmox.com Git - qemu.git/blob - tests/tcg/openrisc/test_sfeq.c
target-mips: fix incorrect behaviour for INSV
[qemu.git] / tests / tcg / openrisc / test_sfeq.c
1 #include <stdio.h>
2
3 int main(void)
4 {
5 int a, b;
6 int result;
7
8 a = 0x1;
9 b = 0x80;
10 result = 0x2;
11 __asm
12 ("1:\n\t"
13 "l.addi %0, %0, 0x1\n\t"
14 "l.sfeq %0, %1\n\t"
15 "l.bf 1b\n\t"
16 "l.nop\n\t"
17 : "+r"(a)
18 : "r"(b)
19 );
20 if (a != result) {
21 printf("sfeq error\n");
22 return -1;
23 }
24
25 a = 0x7f;
26 b = 0x80;
27 result = 0x81;
28 __asm
29 ("2:\n\t"
30 "l.addi %0, %0, 0x1\n\t"
31 "l.sfeq %0, %1\n\t"
32 "l.bf 2b\n\t"
33 "l.nop\n\t"
34 : "+r"(a)
35 : "r"(b)
36 );
37 if (a != result) {
38 printf("sfeq error\n");
39 return -1;
40 }
41
42 return 0;
43 }