PPC: Fix missing TRACE exception
[qemu/agraf.git] / tests / tcg / openrisc / test_lf_nes.c
blob613631005bf10e1d19d3187d4315941653e31dd6
1 #include <stdio.h>
3 int main(void)
5 int a;
6 float b, c;
7 int result;
9 a = 0;
10 b = 23.1;
11 c = 23.1;
12 result = 0x1;
13 __asm
14 ("lfnes:\n\t"
15 "l.addi %0, %0, 0x1\n\t"
16 "lf.sfne.s %1, %2\n\t"
17 "l.bf lfnes\n\t"
18 "l.nop\n\t"
19 : "+r"(a)
20 : "r"(b), "r"(c)
22 if (a != result) {
23 printf("lf.sfne.s error");
24 return -1;
27 b = 12.4;
28 c = 7.8;
29 result = 0x3;
30 __asm
31 ("l.addi %0, %0, 0x1\n\t"
32 "l.addi %0, %0, 0x1\n\t"
33 "lf.sfne.s %1, %2\n\t"
34 "l.bf 1f\n\t"
35 "l.nop\n\t"
36 "l.addi %0, %0, 0x1\n\t"
37 "l.addi %0, %0, 0x1\n\t"
38 "1:\n\t"
39 : "+r"(a)
40 : "r"(b), "r"(c)
42 if (a != result) {
43 printf("lf.sfne.s error\n");
44 return -1;
46 /* int a;
47 double b, c;
48 int result;
50 a = 0;
51 b = 124.3;
52 c = 124.3;
53 result = 0x1;
54 __asm
55 ("lfned:\n\t"
56 "l.addi %0, %0, 0x1\n\t"
57 "lf.sfne.d %1, %2\n\t"
58 "l.bf lfned\n\t"
59 "l.nop\n\t"
60 : "+r"(a)
61 : "r"(b), "r"(c)
63 if (a != result) {
64 printf("lf.sfne.d error\n");
65 return -1;
68 b = 11.5;
69 c = 16.7;
70 result = 0x3;
71 __asm
72 ("l.addi %0, %0, 0x1\n\t"
73 "l.addi %0, %0, 0x1\n\t"
74 "lf.sfne.d %1, %2\n\t"
75 "l.bf 1f\n\t"
76 "l.nop\n\t"
77 "l.addi r4, r4, 0x1\n\t"
78 "l.addi r4, r4, 0x1\n\t"
79 "1:\n\t"
80 : "+r"(a)
81 : "r"(b), "r"(c)
83 if (a != result) {
84 printf("lf.sfne.d error\n");
85 return -1;
86 }*/
88 return 0;