|
@@ -3484,44 +3484,44 @@ unit aoptx86;
|
|
MatchOpType(taicpu(hp1),top_const,top_reg) and
|
|
MatchOpType(taicpu(hp1),top_const,top_reg) and
|
|
(taicpu(hp1).oper[1]^.reg = taicpu(p).oper[1]^.reg) then
|
|
(taicpu(hp1).oper[1]^.reg = taicpu(p).oper[1]^.reg) then
|
|
begin
|
|
begin
|
|
- taicpu(p).opcode := A_MOV;
|
|
|
|
|
|
+ //taicpu(p).opcode := A_MOV;
|
|
case taicpu(p).opsize Of
|
|
case taicpu(p).opsize Of
|
|
S_BL:
|
|
S_BL:
|
|
begin
|
|
begin
|
|
DebugMsg(SPeepholeOptimization + 'var13',p);
|
|
DebugMsg(SPeepholeOptimization + 'var13',p);
|
|
- taicpu(p).changeopsize(S_L);
|
|
|
|
|
|
+ taicpu(hp1).changeopsize(S_L);
|
|
taicpu(hp1).loadConst(0,taicpu(hp1).oper[0]^.val and $ff);
|
|
taicpu(hp1).loadConst(0,taicpu(hp1).oper[0]^.val and $ff);
|
|
end;
|
|
end;
|
|
S_WL:
|
|
S_WL:
|
|
begin
|
|
begin
|
|
DebugMsg(SPeepholeOptimization + 'var14',p);
|
|
DebugMsg(SPeepholeOptimization + 'var14',p);
|
|
- taicpu(p).changeopsize(S_L);
|
|
|
|
|
|
+ taicpu(hp1).changeopsize(S_L);
|
|
taicpu(hp1).loadConst(0,taicpu(hp1).oper[0]^.val and $ffff);
|
|
taicpu(hp1).loadConst(0,taicpu(hp1).oper[0]^.val and $ffff);
|
|
end;
|
|
end;
|
|
S_BW:
|
|
S_BW:
|
|
begin
|
|
begin
|
|
DebugMsg(SPeepholeOptimization + 'var15',p);
|
|
DebugMsg(SPeepholeOptimization + 'var15',p);
|
|
- taicpu(p).changeopsize(S_W);
|
|
|
|
|
|
+ taicpu(hp1).changeopsize(S_W);
|
|
taicpu(hp1).loadConst(0,taicpu(hp1).oper[0]^.val and $ff);
|
|
taicpu(hp1).loadConst(0,taicpu(hp1).oper[0]^.val and $ff);
|
|
end;
|
|
end;
|
|
{$ifdef x86_64}
|
|
{$ifdef x86_64}
|
|
S_BQ:
|
|
S_BQ:
|
|
begin
|
|
begin
|
|
DebugMsg(SPeepholeOptimization + 'var16',p);
|
|
DebugMsg(SPeepholeOptimization + 'var16',p);
|
|
- taicpu(p).changeopsize(S_Q);
|
|
|
|
|
|
+ taicpu(hp1).changeopsize(S_Q);
|
|
taicpu(hp1).loadConst(
|
|
taicpu(hp1).loadConst(
|
|
0, taicpu(hp1).oper[0]^.val and $ff);
|
|
0, taicpu(hp1).oper[0]^.val and $ff);
|
|
end;
|
|
end;
|
|
S_WQ:
|
|
S_WQ:
|
|
begin
|
|
begin
|
|
DebugMsg(SPeepholeOptimization + 'var17',p);
|
|
DebugMsg(SPeepholeOptimization + 'var17',p);
|
|
- taicpu(p).changeopsize(S_Q);
|
|
|
|
|
|
+ taicpu(hp1).changeopsize(S_Q);
|
|
taicpu(hp1).loadConst(0, taicpu(hp1).oper[0]^.val and $ffff);
|
|
taicpu(hp1).loadConst(0, taicpu(hp1).oper[0]^.val and $ffff);
|
|
end;
|
|
end;
|
|
S_LQ:
|
|
S_LQ:
|
|
begin
|
|
begin
|
|
DebugMsg(SPeepholeOptimization + 'var18',p);
|
|
DebugMsg(SPeepholeOptimization + 'var18',p);
|
|
- taicpu(p).changeopsize(S_Q);
|
|
|
|
|
|
+ taicpu(hp1).changeopsize(S_Q);
|
|
taicpu(hp1).loadConst(
|
|
taicpu(hp1).loadConst(
|
|
0, taicpu(hp1).oper[0]^.val and $ffffffff);
|
|
0, taicpu(hp1).oper[0]^.val and $ffffffff);
|
|
end;
|
|
end;
|