Statistics
| Branch: | Revision:

root / target-sparc / fbranch_template.h @ 3475187d

History | View | Annotate | Download (1.5 kB)

1
/* FCC1:FCC0: 0 =, 1 <, 2 >, 3 u */
2

    
3
void OPPROTO glue(op_eval_fbne, FCC)(void)
4
{
5
// !0
6
    T2 = FFLAG_SET(FSR_FCC0) | FFLAG_SET(FSR_FCC1); /* L or G or U */
7
}
8

    
9
void OPPROTO glue(op_eval_fblg, FCC)(void)
10
{
11
// 1 or 2
12
    T2 = FFLAG_SET(FSR_FCC0) ^ FFLAG_SET(FSR_FCC1);
13
}
14

    
15
void OPPROTO glue(op_eval_fbul, FCC)(void)
16
{
17
// 1 or 3
18
    T2 = FFLAG_SET(FSR_FCC0);
19
}
20

    
21
void OPPROTO glue(op_eval_fbl, FCC)(void)
22
{
23
// 1
24
    T2 = FFLAG_SET(FSR_FCC0) & !FFLAG_SET(FSR_FCC1);
25
}
26

    
27
void OPPROTO glue(op_eval_fbug, FCC)(void)
28
{
29
// 2 or 3
30
    T2 = FFLAG_SET(FSR_FCC1);
31
}
32

    
33
void OPPROTO glue(op_eval_fbg, FCC)(void)
34
{
35
// 2
36
    T2 = !FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1);
37
}
38

    
39
void OPPROTO glue(op_eval_fbu, FCC)(void)
40
{
41
// 3
42
    T2 = FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1);
43
}
44

    
45
void OPPROTO glue(op_eval_fbe, FCC)(void)
46
{
47
// 0
48
    T2 = !FFLAG_SET(FSR_FCC0) & !FFLAG_SET(FSR_FCC1);
49
}
50

    
51
void OPPROTO glue(op_eval_fbue, FCC)(void)
52
{
53
// 0 or 3
54
    T2 = !(FFLAG_SET(FSR_FCC1) ^ FFLAG_SET(FSR_FCC0));
55
    FORCE_RET();
56
}
57

    
58
void OPPROTO glue(op_eval_fbge, FCC)(void)
59
{
60
// 0 or 2
61
    T2 = !FFLAG_SET(FSR_FCC0);
62
}
63

    
64
void OPPROTO glue(op_eval_fbuge, FCC)(void)
65
{
66
// !1
67
    T2 = !(FFLAG_SET(FSR_FCC0) & !FFLAG_SET(FSR_FCC1));
68
}
69

    
70
void OPPROTO glue(op_eval_fble, FCC)(void)
71
{
72
// 0 or 1
73
    T2 = !FFLAG_SET(FSR_FCC1);
74
}
75

    
76
void OPPROTO glue(op_eval_fbule, FCC)(void)
77
{
78
// !2
79
    T2 = !(!FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1));
80
}
81

    
82
void OPPROTO glue(op_eval_fbo, FCC)(void)
83
{
84
// !3
85
    T2 = !(FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1));
86
}
87

    
88
#undef FCC
89
#undef FFLAG_SET