diff --git a/compiler/sparc/cgcpu.pas b/compiler/sparc/cgcpu.pas index e0e6759b4a..685110c937 100644 --- a/compiler/sparc/cgcpu.pas +++ b/compiler/sparc/cgcpu.pas @@ -721,24 +721,12 @@ implementation procedure TCgSparc.a_op_reg_reg(list:TAsmList;Op:TOpCG;size:TCGSize;src, dst:TRegister); - var - a : aint; begin Case Op of OP_NEG : list.concat(taicpu.op_reg_reg(TOpCG2AsmOp[op],src,dst)); OP_NOT : - begin - case size of - OS_8 : - a:=aint($ffffff00); - OS_16 : - a:=aint($ffff0000); - else - a:=0; - end; - handle_reg_const_reg(list,A_XNOR,src,a,dst); - end; + list.concat(taicpu.op_reg_reg_reg(A_XNOR,src,NR_G0,dst)); else list.concat(taicpu.op_reg_reg_reg(TOpCG2AsmOp[op],dst,src,dst)); end; @@ -938,10 +926,7 @@ implementation if (f in [F_B]) then list.concat(taicpu.op_reg_reg_reg(A_ADDX,NR_G0,NR_G0,reg)) else if (f in [F_AE]) then - begin - a_load_const_reg(list,size,1,reg); - list.concat(taicpu.op_reg_reg_reg(A_SUBX,reg,NR_G0,reg)); - end + list.concat(taicpu.op_reg_const_reg(A_SUBX,NR_G0,-1,reg)) else begin current_asmdata.getjumplabel(hl);