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