diff options
Diffstat (limited to 'aarch64/Asmexpand.ml')
-rw-r--r-- | aarch64/Asmexpand.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/aarch64/Asmexpand.ml b/aarch64/Asmexpand.ml index 68884550..eb9ec600 100644 --- a/aarch64/Asmexpand.ml +++ b/aarch64/Asmexpand.ml @@ -185,15 +185,15 @@ let memcpy_small_arg sz arg tmp = | BA_addrstack ofs -> if offset_in_range ofs && offset_in_range (Ptrofs.add ofs (Ptrofs.repr (Z.of_uint sz))) - && (Z.to_int ofs) mod 8 = 0 + && Int64.rem (Z.to_int64 ofs) 8L = 0L then (XSP, ofs) else begin expand_addimm64 (RR1 tmp) XSP ofs; (RR1 tmp, _0) end | _ -> assert false let expand_builtin_memcpy_small sz al src dst = - let (tsrc, tdst) = - if dst <> BA (DR(IR(RR1 X17))) then (X17, X29) else (X29, X17) in + let tsrc = if dst <> BA (DR(IR(RR1 X17))) then X17 else X29 in + let tdst = if src <> BA (DR(IR(RR1 X29))) then X29 else X17 in let (rsrc, osrc) = memcpy_small_arg sz src tsrc in let (rdst, odst) = memcpy_small_arg sz dst tdst in let rec copy osrc odst sz = |