m68k: also try to optimize a special case of OP_SAR using the SWAP instruction

git-svn-id: trunk@28657 -
This commit is contained in:
Károly Balogh 2014-09-14 12:47:07 +00:00
parent 445017fab4
commit 3b205742b6

View File

@ -1138,6 +1138,11 @@ unit cgcpu;
list.concat(taicpu.op_reg(A_CLR,S_W,scratch_reg));
list.concat(taicpu.op_reg(A_SWAP,S_NO,scratch_reg));
end
else if (op = OP_SAR) then
begin
list.concat(taicpu.op_reg(A_SWAP,S_NO,scratch_reg));
list.concat(taicpu.op_reg(A_EXT,S_L,scratch_reg));
end
else if (op = OP_ROR) or (op = OP_ROL) then
list.concat(taicpu.op_reg(A_SWAP,S_NO,scratch_reg))
end