summaryrefslogtreecommitdiff
path: root/compiler/x86_64
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-01-05 15:15:41 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-01-05 15:15:41 +0000
commit74c97ea599b53be5d3889dddd7c5149e0bd5920e (patch)
tree6d4e87f373b9f0ab94cb53cc96fc52b686787ce3 /compiler/x86_64
parentfc13f9ba4875173e9aff40f2f3ce11f158c9e443 (diff)
downloadfpc-74c97ea599b53be5d3889dddd7c5149e0bd5920e.tar.gz
+ patch by J. Gareth Moreton: Advanced MOVZX optimisations, resolves #38294
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48086 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/x86_64')
-rw-r--r--compiler/x86_64/aoptcpu.pas4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/x86_64/aoptcpu.pas b/compiler/x86_64/aoptcpu.pas
index 0ed4c9701b..5ac6583fd5 100644
--- a/compiler/x86_64/aoptcpu.pas
+++ b/compiler/x86_64/aoptcpu.pas
@@ -163,6 +163,8 @@ uses
case taicpu(p).opcode of
A_MOV:
Result:=OptPass2MOV(p);
+ A_MOVZX:
+ Result:=OptPass2Movx(p);
A_IMUL:
Result:=OptPass2Imul(p);
A_JMP:
@@ -213,6 +215,8 @@ uses
Result:=PostPeepholeOptLea(p);
A_PUSH:
Result:=PostPeepholeOptPush(p);
+ A_SHR:
+ Result:=PostPeepholeOptShr(p);
else
;
end;