summaryrefslogtreecommitdiff
path: root/asmcomp/amd64
diff options
context:
space:
mode:
authorOlivier Nicole <olivier@chnik.fr>2022-01-24 13:35:15 +0100
committerOlivier Nicole <olivier@chnik.fr>2022-02-01 15:27:54 +0100
commit9154d97f587b24a5e53fafdd2ee711cc4997c8a1 (patch)
treeb857b5dae6e732980cc1dacf71bcd9b12da1228d /asmcomp/amd64
parent8db757e4712b2488bd89d454e37dbc6ba350e28c (diff)
downloadocaml-9154d97f587b24a5e53fafdd2ee711cc4997c8a1.tar.gz
Introduce atomic loads in Cmm and Mach IRs
Diffstat (limited to 'asmcomp/amd64')
-rw-r--r--asmcomp/amd64/emit.mlp22
1 files changed, 11 insertions, 11 deletions
diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp
index ef768b11d8..b7208c1ff4 100644
--- a/asmcomp/amd64/emit.mlp
+++ b/asmcomp/amd64/emit.mlp
@@ -574,27 +574,27 @@ let emit_instr env fallthrough i =
if n <> 0
then cfi_adjust_cfa_offset n;
env.stack_offset <- env.stack_offset + n
- | Lop(Iload(chunk, addr, _mut)) ->
+ | Lop(Iload { memory_chunk; addressing_mode; _ }) ->
let dest = res i 0 in
- begin match chunk with
+ begin match memory_chunk with
| Word_int | Word_val ->
- I.mov (addressing addr QWORD i 0) dest
+ I.mov (addressing addressing_mode QWORD i 0) dest
| Byte_unsigned ->
- I.movzx (addressing addr BYTE i 0) dest
+ I.movzx (addressing addressing_mode BYTE i 0) dest
| Byte_signed ->
- I.movsx (addressing addr BYTE i 0) dest
+ I.movsx (addressing addressing_mode BYTE i 0) dest
| Sixteen_unsigned ->
- I.movzx (addressing addr WORD i 0) dest
+ I.movzx (addressing addressing_mode WORD i 0) dest
| Sixteen_signed ->
- I.movsx (addressing addr WORD i 0) dest;
+ I.movsx (addressing addressing_mode WORD i 0) dest;
| Thirtytwo_unsigned ->
- I.mov (addressing addr DWORD i 0) (res32 i 0)
+ I.mov (addressing addressing_mode DWORD i 0) (res32 i 0)
| Thirtytwo_signed ->
- I.movsxd (addressing addr DWORD i 0) dest
+ I.movsxd (addressing addressing_mode DWORD i 0) dest
| Single ->
- I.cvtss2sd (addressing addr REAL4 i 0) dest
+ I.cvtss2sd (addressing addressing_mode REAL4 i 0) dest
| Double ->
- I.movsd (addressing addr REAL8 i 0) dest
+ I.movsd (addressing addressing_mode REAL8 i 0) dest
end
| Lop(Istore(chunk, addr, _)) ->
begin match chunk with