|
@@ -909,9 +909,10 @@ unit cgx86;
|
|
|
|
|
|
begin
|
|
begin
|
|
check_register_size(tosize,reg);
|
|
check_register_size(tosize,reg);
|
|
- { the optimizer will change it to "xor reg,reg" when loading zero, }
|
|
|
|
- { no need to do it here too (JM) }
|
|
|
|
- list.concat(taicpu.op_const_reg(A_MOV,TCGSize2OpSize[tosize],a,reg))
|
|
|
|
|
|
+ if a=0 then
|
|
|
|
+ list.concat(taicpu.op_reg_reg(A_XOR,TCGSize2OpSize[tosize],reg,reg))
|
|
|
|
+ else
|
|
|
|
+ list.concat(taicpu.op_const_reg(A_MOV,TCGSize2OpSize[tosize],a,reg));
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|