aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64/Asmexpand.ml
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2020-12-02 18:02:23 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2020-12-02 18:02:23 +0100
commitc48b7c63592e5930f022452ee6c3f1cf3d1ada97 (patch)
tree8b77e87f9dbc17e67da3c36b7402fae21f033e33 /aarch64/Asmexpand.ml
parentdd299de4b51c561b3a2d8e9f388396381b0e2b85 (diff)
downloadcompcert-kvx-c48b7c63592e5930f022452ee6c3f1cf3d1ada97.tar.gz
compcert-kvx-c48b7c63592e5930f022452ee6c3f1cf3d1ada97.zip
Adding semantics for Pldp
This commit prepare the backend for a peephole optimization in Asmblock.
Diffstat (limited to 'aarch64/Asmexpand.ml')
-rw-r--r--aarch64/Asmexpand.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/aarch64/Asmexpand.ml b/aarch64/Asmexpand.ml
index c2519e6a..edcce06f 100644
--- a/aarch64/Asmexpand.ml
+++ b/aarch64/Asmexpand.ml
@@ -169,7 +169,7 @@ let expand_builtin_memcpy_small sz al src dst =
let (rdst, odst) = memcpy_small_arg sz dst tdst in
let rec copy osrc odst sz =
if sz >= 16 then begin
- emit (Pldp(X16, X30, ADimm(rsrc, osrc)));
+ emit (Pldpw(X16, X30, ADimm(rsrc, osrc)));
emit (Pstp(X16, X30, ADimm(rdst, odst)));
copy (Ptrofs.add osrc _16) (Ptrofs.add odst _16) (sz - 16)
end
@@ -208,7 +208,7 @@ let expand_builtin_memcpy_big sz al src dst =
let lbl = new_label () in
expand_loadimm32 X15 (Z.of_uint (sz / 16));
emit (Plabel lbl);
- emit (Pldp(X16, X17, ADpostincr(RR1 X30, _16)));
+ emit (Pldpx(X16, X17, ADpostincr(RR1 X30, _16)));
emit (Pstp(X16, X17, ADpostincr(RR1 X29, _16)));
emit (Psubimm(W, RR1 X15, RR1 X15, _1));
emit (Pcbnz(W, X15, lbl));