root / tests / tcg / openrisc / test_sfgeui.c @ e4b42e6e
History | View | Annotate | Download (613 Bytes)
1 | d901eff3 | Jia Liu | #include <stdio.h> |
---|---|---|---|
2 | d901eff3 | Jia Liu | |
3 | d901eff3 | Jia Liu | int main(void) |
4 | d901eff3 | Jia Liu | { |
5 | d901eff3 | Jia Liu | int a, b;
|
6 | d901eff3 | Jia Liu | int result;
|
7 | d901eff3 | Jia Liu | |
8 | d901eff3 | Jia Liu | a = 0;
|
9 | d901eff3 | Jia Liu | result = 1;
|
10 | d901eff3 | Jia Liu | __asm |
11 | d901eff3 | Jia Liu | ("1:\n\t"
|
12 | d901eff3 | Jia Liu | "l.addi %0, %0, 1\n\t"
|
13 | d901eff3 | Jia Liu | "l.sfgeui %0, 0x3\n\t"
|
14 | d901eff3 | Jia Liu | "l.bf 1b\n\t"
|
15 | d901eff3 | Jia Liu | "l.nop\n\t"
|
16 | d901eff3 | Jia Liu | : "+r"(a)
|
17 | d901eff3 | Jia Liu | ); |
18 | d901eff3 | Jia Liu | if (a != result) {
|
19 | d901eff3 | Jia Liu | printf("sfgeui error\n");
|
20 | d901eff3 | Jia Liu | return -1; |
21 | d901eff3 | Jia Liu | } |
22 | d901eff3 | Jia Liu | |
23 | d901eff3 | Jia Liu | a = 0xff;
|
24 | d901eff3 | Jia Liu | b = 1;
|
25 | d901eff3 | Jia Liu | result = 2;
|
26 | d901eff3 | Jia Liu | __asm |
27 | d901eff3 | Jia Liu | ("1:\n\t"
|
28 | d901eff3 | Jia Liu | "l.sub %0, %0, %1\n\t"
|
29 | d901eff3 | Jia Liu | "l.sfgeui %0, 0x3\n\t"
|
30 | d901eff3 | Jia Liu | "l.bf 1b\n\t"
|
31 | d901eff3 | Jia Liu | "l.nop\n\t"
|
32 | d901eff3 | Jia Liu | : "+r"(a)
|
33 | d901eff3 | Jia Liu | : "r"(b)
|
34 | d901eff3 | Jia Liu | ); |
35 | d901eff3 | Jia Liu | if (a != result) {
|
36 | d901eff3 | Jia Liu | printf("sfgeui error\n");
|
37 | d901eff3 | Jia Liu | return -1; |
38 | d901eff3 | Jia Liu | } |
39 | d901eff3 | Jia Liu | |
40 | d901eff3 | Jia Liu | return 0; |
41 | d901eff3 | Jia Liu | } |