* CPU functions exposed to gencomp. Both CREATE and EMIT time *
********************************************************************/
+
/*
* RULES FOR HANDLING REGISTERS:
*
* - 5th call get_offset for all the registers from the previous step
* - 6th call writereg for all written-to registers
* - 7th call raw_*
- * - 8th unlock all registers that were locked
+ * - 8th unlock2 all registers that were locked
*/
MIDFUNC(0,live_flags,(void))
}
MENDFUNC(2,rol_b_rr,(RW1 d, RR1 r))
+
MIDFUNC(2,shll_l_rr,(RW4 d, RR1 r))
{
if (isconst(r)) {
}
MENDFUNC(2,shll_b_rr,(RW1 d, RR1 r))
+
MIDFUNC(2,ror_b_ri,(RR1 r, IMM i))
{
if (!i && !needflags)
}
MENDFUNC(2,shrl_b_rr,(RW1 d, RR1 r))
+
+
MIDFUNC(2,shll_l_ri,(RW4 r, IMM i))
{
if (!i && !needflags)
}
MENDFUNC(2,shra_b_rr,(RW1 d, RR1 r))
+
MIDFUNC(2,setcc,(W1 d, IMM cc))
{
CLOBBER_SETCC;
}
MENDFUNC(2,sign_extend_8_rr,(W4 d, RR1 s))
+
MIDFUNC(2,zero_extend_16_rr,(W4 d, RR2 s))
{
int isrmw;
}
MENDFUNC(2,mov_l_mr,(IMM d, RR4 s))
+
MIDFUNC(2,mov_w_mr,(IMM d, RR2 s))
{
if (isconst(s)) {
}
MENDFUNC(2,test_b_rr,(RR1 d, RR1 s))
+
MIDFUNC(2,and_l_ri,(RW4 d, IMM i))
{
if (isconst (d) && ! needflags) {
}
MENDFUNC(2,cmp_b,(RR1 d, RR1 s))
+
MIDFUNC(2,xor_l,(RW4 d, RR4 s))
{
CLOBBER_XOR;
}
MENDFUNC(5,call_r_02,(RR4 r, RR4 in1, RR4 in2, IMM isize1, IMM isize2))
+/* forget_about() takes a mid-layer register */
MIDFUNC(1,forget_about,(W4 r))
{
if (isinreg(r))
}
MENDFUNC(2,fabs_rr,(FW d, FR s))
-MIDFUNC(2,frndint_rr,(FW d, FR s))
-{
- s=f_readreg(s);
- d=f_writereg(d);
- raw_frndint_rr(d,s);
- f_unlock(s);
- f_unlock(d);
-}
-MENDFUNC(2,frndint_rr,(FW d, FR s))
-
MIDFUNC(2,fgetexp_rr,(FW d, FR s))
{
s=f_readreg(s);
}
MENDFUNC(2,fetox_rr,(FW d, FR s))
+MIDFUNC(2,frndint_rr,(FW d, FR s))
+{
+ s=f_readreg(s);
+ d=f_writereg(d);
+ raw_frndint_rr(d,s);
+ f_unlock(s);
+ f_unlock(d);
+}
+MENDFUNC(2,frndint_rr,(FW d, FR s))
+
MIDFUNC(2,fetoxM1_rr,(FW d, FR s))
{
s=f_readreg(s);