Skip to content

Commit 821abd5

Browse files
committed
AArch64 Asmexpand: use Asmgen.offset_representable in the expansion of volatile accesses
Fixes: #569 (part 1)
1 parent bf062de commit 821abd5

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

aarch64/Asmexpand.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,14 +294,14 @@ let expand_builtin_vload chunk args res =
294294
| [BA(IR addr)] ->
295295
expand_builtin_vload_common chunk (RR1 addr) _0 res
296296
| [BA_addrstack ofs] ->
297-
if offset_in_range (Z.add ofs (Memdata.size_chunk chunk)) then
297+
if Asmgen.offset_representable (Memdata.size_chunk chunk) ofs then
298298
expand_builtin_vload_common chunk XSP ofs res
299299
else begin
300300
expand_addimm64 (RR1 X16) XSP ofs; (* X16 <- SP + ofs *)
301301
expand_builtin_vload_common chunk (RR1 X16) _0 res
302302
end
303303
| [BA_addptr(BA(IR addr), BA_long ofs)] ->
304-
if offset_in_range (Z.add ofs (Memdata.size_chunk chunk)) then
304+
if Asmgen.offset_representable (Memdata.size_chunk chunk) ofs then
305305
expand_builtin_vload_common chunk (RR1 addr) ofs res
306306
else begin
307307
expand_addimm64 (RR1 X16) (RR1 addr) ofs; (* X16 <- addr + ofs *)
@@ -333,14 +333,14 @@ let expand_builtin_vstore chunk args =
333333
| [BA(IR addr); src] ->
334334
expand_builtin_vstore_common chunk (RR1 addr) _0 src
335335
| [BA_addrstack ofs; src] ->
336-
if offset_in_range (Z.add ofs (Memdata.size_chunk chunk)) then
336+
if Asmgen.offset_representable (Memdata.size_chunk chunk) ofs then
337337
expand_builtin_vstore_common chunk XSP ofs src
338338
else begin
339339
expand_addimm64 (RR1 X16) XSP ofs; (* X16 <- SP + ofs *)
340340
expand_builtin_vstore_common chunk (RR1 X16) _0 src
341341
end
342342
| [BA_addptr(BA(IR addr), BA_long ofs); src] ->
343-
if offset_in_range (Z.add ofs (Memdata.size_chunk chunk)) then
343+
if Asmgen.offset_representable (Memdata.size_chunk chunk) ofs then
344344
expand_builtin_vstore_common chunk (RR1 addr) ofs src
345345
else begin
346346
expand_addimm64 (RR1 X16) (RR1 addr) ofs; (* X16 <- addr + ofs *)

0 commit comments

Comments
 (0)