master
c 39 lines 605 Bytes
Raw
1 #include <stdio.h>
2
3 int main(void)
4 {
5 int a;
6 int result;
7
8 a = 1;
9 result = 2;
10 __asm
11 ("1:\n\t"
12 "l.addi %0, %0, 0x1\n\t"
13 "l.sfeqi %0, 0x80\n\t"
14 "l.bf 1b\n\t"
15 "l.nop\n\t"
16 : "+r"(a)
17 );
18 if (a != result) {
19 printf("sfeqi error\n");
20 return -1;
21 }
22
23 a = 0x7f;
24 result = 0x81;
25 __asm
26 ("2:\n\t"
27 "l.addi %0, %0, 0x1\n\t"
28 "l.sfeqi %0, 0x80\n\t"
29 "l.bf 2b\n\t"
30 "l.nop\n\t"
31 : "+r"(a)
32 );
33 if (a != result) {
34 printf("sfeqi error\n");
35 return -1;
36 }
37
38 return 0;
39 }