darwin fix
[qemu/mdroth.git] / target-sparc / fbranch_template.h
blobe6bf9a269ab8ad9ec01707e7bdb212c7bbc987a5
1 /* FCC1:FCC0: 0 =, 1 <, 2 >, 3 u */
3 void OPPROTO glue(op_eval_fbne, FCC)(void)
5 // !0
6 T2 = FFLAG_SET(FSR_FCC0) | FFLAG_SET(FSR_FCC1); /* L or G or U */
9 void OPPROTO glue(op_eval_fblg, FCC)(void)
11 // 1 or 2
12 T2 = FFLAG_SET(FSR_FCC0) ^ FFLAG_SET(FSR_FCC1);
15 void OPPROTO glue(op_eval_fbul, FCC)(void)
17 // 1 or 3
18 T2 = FFLAG_SET(FSR_FCC0);
21 void OPPROTO glue(op_eval_fbl, FCC)(void)
23 // 1
24 T2 = FFLAG_SET(FSR_FCC0) & !FFLAG_SET(FSR_FCC1);
27 void OPPROTO glue(op_eval_fbug, FCC)(void)
29 // 2 or 3
30 T2 = FFLAG_SET(FSR_FCC1);
33 void OPPROTO glue(op_eval_fbg, FCC)(void)
35 // 2
36 T2 = !FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1);
39 void OPPROTO glue(op_eval_fbu, FCC)(void)
41 // 3
42 T2 = FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1);
45 void OPPROTO glue(op_eval_fbe, FCC)(void)
47 // 0
48 T2 = !FFLAG_SET(FSR_FCC0) & !FFLAG_SET(FSR_FCC1);
51 void OPPROTO glue(op_eval_fbue, FCC)(void)
53 // 0 or 3
54 T2 = !(FFLAG_SET(FSR_FCC1) ^ FFLAG_SET(FSR_FCC0));
55 FORCE_RET();
58 void OPPROTO glue(op_eval_fbge, FCC)(void)
60 // 0 or 2
61 T2 = !FFLAG_SET(FSR_FCC0);
64 void OPPROTO glue(op_eval_fbuge, FCC)(void)
66 // !1
67 T2 = !(FFLAG_SET(FSR_FCC0) & !FFLAG_SET(FSR_FCC1));
70 void OPPROTO glue(op_eval_fble, FCC)(void)
72 // 0 or 1
73 T2 = !FFLAG_SET(FSR_FCC1);
76 void OPPROTO glue(op_eval_fbule, FCC)(void)
78 // !2
79 T2 = !(!FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1));
82 void OPPROTO glue(op_eval_fbo, FCC)(void)
84 // !3
85 T2 = !(FFLAG_SET(FSR_FCC0) & FFLAG_SET(FSR_FCC1));
88 #undef FCC
89 #undef FFLAG_SET