TempleOSTS_130707.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:45 +02:00
1 parent 17b71f1a2d
commit 1343005a29
617 files changed
+14399 -25130

No files matched your search

+3 -53
View File
@@ -8,7 +8,7 @@ U0 OptPass5(CLex *lx)
if (tempi->ic_opcode==IC_START)
tempi++;
while (code=tempi->ic_opcode) {
if (code>IC_NOP1) {
if (code>IC_NOP2) {
if (tempi->ic_flags&ICF_TRACE) {
if (Bt(&lx->pass_trace_mask,5)) {
"%2d:",ps->ptr;
@@ -28,50 +28,6 @@ U0 OptPass5(CLex *lx)
ps->ptr--;
}
if (tempi->p3.type&TY_MASK==TY_STK) {
tempi1=PrsPop(ps);
if (tempi1->ic_opcode==IC_MOV ||
tempi1->ic_opcode==IC_REG) {
if (tempi1->ic_flags & ICF_R_TO_INT) {
if (tempi1->p1.type&TY_MASK==TY_IMM)
tempi1->p1.disp=tempi1->p1.disp(F64);
else
tempi->ic_flags|=ICF_P3_TO_INT;
} else if (tempi1->ic_flags&ICF_R_TO_F64) {
if (tempi1->p1.type&TY_MASK==TY_IMM)
tempi1->p1.disp(F64)=tempi1->p1.disp;
else
tempi->ic_flags|=ICF_P3_TO_F64;
}
ty=tempi->p3.type&IT_MASK;
ty1=tempi1->p1.type&IT_MASK;
if (ty1 && ty1<ty)
ty=ty1;
ty1=tempi1->r.type&IT_MASK;
if (ty1 && ty1<ty)
ty=ty1;
tempi->p3.type=tempi1->p1.type&TY_MASK+ty;
pt=tempi->p3.ptype;
pt1=tempi1->p1.ptype;
if (pt1 && pt1<pt && pt!=IT_F64)
pt=pt1;
pt1=tempi1->r.ptype;
if (pt1 && pt1<pt && pt!=IT_F64)
pt=pt1;
tempi->p3.ptype=pt;
tempi->p3.reg=tempi1->p1.reg;
tempi->p3.disp=tempi1->p1.disp;
tempi->ic_flags|=tempi1->ic_flags&ICF_NO_CVT_MASK;
tempi1->ic_opcode=IC_NOP1;
tempi1->ic_data=1;
tempi1->p1.type=TY_NULL+tempi1->p1.type&IT_MASK;
tempi1->r.type=TY_NULL+tempi1->r.type&IT_MASK;
}
}
if (tempi->p2.type&TY_MASK==TY_STK) {
tempi1=PrsPop(ps);
if (tempi1->ic_opcode==IC_MOV ||
@@ -109,10 +65,7 @@ U0 OptPass5(CLex *lx)
tempi->p2.reg=tempi1->p1.reg;
tempi->p2.disp=tempi1->p1.disp;
tempi->ic_flags|=tempi1->ic_flags&ICF_NO_CVT_MASK;
tempi1->ic_opcode=IC_NOP1;
tempi1->ic_data=1;
tempi1->p1.type=TY_NULL+tempi1->p1.type&IT_MASK;
tempi1->r.type=TY_NULL+tempi1->r.type&IT_MASK;
OptSetNOP2(tempi1);
}
}
@@ -156,10 +109,7 @@ U0 OptPass5(CLex *lx)
tempi->p1.reg=tempi1->p1.reg;
tempi->p1.disp=tempi1->p1.disp;
tempi->ic_flags|=tempi1->ic_flags&ICF_NO_CVT_MASK;
tempi1->ic_opcode=IC_NOP1;
tempi1->ic_data=1;
tempi1->p1.type=TY_NULL+tempi1->p1.type&IT_MASK;
tempi1->r.type=TY_NULL+tempi1->r.type&IT_MASK;
OptSetNOP2(tempi1);
}
}
if (tempi->r.type&TY_MASK==TY_STK)