diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2007-01-24 14:14:28 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2007-01-24 14:14:28 +0000 |
commit | 24d7c3c7f7756b8270910ef5c76b409209597dfc (patch) | |
tree | eef741b708f1db8794bbcf7f0aa595720eaf0ad7 | |
parent | 450793a7fb3fa234c3912916ecd021b38423dca4 (diff) |
Compatibilite avec versions plus recentes de ml64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | asmcomp/amd64/emit_nt.mlp | 6 | ||||
-rw-r--r-- | asmrun/amd64nt.asm | 164 |
2 files changed, 85 insertions, 85 deletions
diff --git a/asmcomp/amd64/emit_nt.mlp b/asmcomp/amd64/emit_nt.mlp index 0b10963e9..e972174a7 100644 --- a/asmcomp/amd64/emit_nt.mlp +++ b/asmcomp/amd64/emit_nt.mlp @@ -504,7 +504,7 @@ let emit_instr fallthrough i = | Lop(Ispecific(Ioffset_loc(n, addr))) -> ` add QWORD PTR {emit_addressing addr i.arg 0}, {emit_int n}\n` | Lop(Ispecific(Ifloatarithmem(op, addr))) -> - ` {emit_string(instr_for_floatarithmem op)} {emit_reg i.res.(0)}, {emit_addressing addr i.arg 1}\n` + ` {emit_string(instr_for_floatarithmem op)} {emit_reg i.res.(0)}, REAL8 PTR {emit_addressing addr i.arg 1}\n` | Lreloadretaddr -> () | Lreturn -> @@ -562,9 +562,9 @@ let emit_instr fallthrough i = let lbl = new_label() in if !pic_code then begin ` lea r11, {emit_label lbl}\n`; - ` jmp [r11+{emit_reg i.arg.(0)}*8]\n` + ` jmp QWORD PTR [r11+{emit_reg i.arg.(0)}*8]\n` end else begin - ` jmp [{emit_reg i.arg.(0)}*8 + {emit_label lbl}]\n` + ` jmp QWORD PTR [{emit_reg i.arg.(0)}*8 + {emit_label lbl}]\n` end; ` .DATA\n`; emit_align 8; diff --git a/asmrun/amd64nt.asm b/asmrun/amd64nt.asm index b7e43b0db..a78f1be49 100644 --- a/asmrun/amd64nt.asm +++ b/asmrun/amd64nt.asm @@ -65,41 +65,41 @@ L105: mov caml_gc_regs, rsp ; Save floating-point registers sub rsp, 16*8 - movlpd [rsp + 0*8], xmm0 - movlpd [rsp + 1*8], xmm1 - movlpd [rsp + 2*8], xmm2 - movlpd [rsp + 3*8], xmm3 - movlpd [rsp + 4*8], xmm4 - movlpd [rsp + 5*8], xmm5 - movlpd [rsp + 6*8], xmm6 - movlpd [rsp + 7*8], xmm7 - movlpd [rsp + 8*8], xmm8 - movlpd [rsp + 9*8], xmm9 - movlpd [rsp + 10*8], xmm10 - movlpd [rsp + 11*8], xmm11 - movlpd [rsp + 12*8], xmm12 - movlpd [rsp + 13*8], xmm13 - movlpd [rsp + 14*8], xmm14 - movlpd [rsp + 15*8], xmm15 + movlpd QWORD PTR [rsp + 0*8], xmm0 + movlpd QWORD PTR [rsp + 1*8], xmm1 + movlpd QWORD PTR [rsp + 2*8], xmm2 + movlpd QWORD PTR [rsp + 3*8], xmm3 + movlpd QWORD PTR [rsp + 4*8], xmm4 + movlpd QWORD PTR [rsp + 5*8], xmm5 + movlpd QWORD PTR [rsp + 6*8], xmm6 + movlpd QWORD PTR [rsp + 7*8], xmm7 + movlpd QWORD PTR [rsp + 8*8], xmm8 + movlpd QWORD PTR [rsp + 9*8], xmm9 + movlpd QWORD PTR [rsp + 10*8], xmm10 + movlpd QWORD PTR [rsp + 11*8], xmm11 + movlpd QWORD PTR [rsp + 12*8], xmm12 + movlpd QWORD PTR [rsp + 13*8], xmm13 + movlpd QWORD PTR [rsp + 14*8], xmm14 + movlpd QWORD PTR [rsp + 15*8], xmm15 ; Call the garbage collector call caml_garbage_collection ; Restore all regs used by the code generator - movlpd xmm0, [rsp + 0*8] - movlpd xmm1, [rsp + 1*8] - movlpd xmm2, [rsp + 2*8] - movlpd xmm3, [rsp + 3*8] - movlpd xmm4, [rsp + 4*8] - movlpd xmm5, [rsp + 5*8] - movlpd xmm6, [rsp + 6*8] - movlpd xmm7, [rsp + 7*8] - movlpd xmm8, [rsp + 8*8] - movlpd xmm9, [rsp + 9*8] - movlpd xmm10, [rsp + 10*8] - movlpd xmm11, [rsp + 11*8] - movlpd xmm12, [rsp + 12*8] - movlpd xmm13, [rsp + 13*8] - movlpd xmm14, [rsp + 14*8] - movlpd xmm15, [rsp + 15*8] + movlpd xmm0, QWORD PTR [rsp + 0*8] + movlpd xmm1, QWORD PTR [rsp + 1*8] + movlpd xmm2, QWORD PTR [rsp + 2*8] + movlpd xmm3, QWORD PTR [rsp + 3*8] + movlpd xmm4, QWORD PTR [rsp + 4*8] + movlpd xmm5, QWORD PTR [rsp + 5*8] + movlpd xmm6, QWORD PTR [rsp + 6*8] + movlpd xmm7, QWORD PTR [rsp + 7*8] + movlpd xmm8, QWORD PTR [rsp + 8*8] + movlpd xmm9, QWORD PTR [rsp + 9*8] + movlpd xmm10, QWORD PTR [rsp + 10*8] + movlpd xmm11, QWORD PTR [rsp + 11*8] + movlpd xmm12, QWORD PTR [rsp + 12*8] + movlpd xmm13, QWORD PTR [rsp + 13*8] + movlpd xmm14, QWORD PTR [rsp + 14*8] + movlpd xmm15, QWORD PTR [rsp + 15*8] add rsp, 16*8 pop rax pop rbx @@ -223,16 +223,16 @@ caml_start_program: push r14 push r15 sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd [rsp + 0*16], xmm6 - movapd [rsp + 1*16], xmm7 - movapd [rsp + 2*16], xmm8 - movapd [rsp + 3*16], xmm9 - movapd [rsp + 4*16], xmm10 - movapd [rsp + 5*16], xmm11 - movapd [rsp + 6*16], xmm12 - movapd [rsp + 7*16], xmm13 - movapd [rsp + 8*16], xmm14 - movapd [rsp + 9*16], xmm15 + movapd OWORD PTR [rsp + 0*16], xmm6 + movapd OWORD PTR [rsp + 1*16], xmm7 + movapd OWORD PTR [rsp + 2*16], xmm8 + movapd OWORD PTR [rsp + 3*16], xmm9 + movapd OWORD PTR [rsp + 4*16], xmm10 + movapd OWORD PTR [rsp + 5*16], xmm11 + movapd OWORD PTR [rsp + 6*16], xmm12 + movapd OWORD PTR [rsp + 7*16], xmm13 + movapd OWORD PTR [rsp + 8*16], xmm14 + movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial entry point is caml_program lea r12, caml_program ; Common code for caml_start_program and caml_callback* @@ -266,16 +266,16 @@ L109: pop caml_gc_regs add rsp, 8 ; Restore callee-save registers. - movapd xmm6, [rsp + 0*16] - movapd xmm7, [rsp + 1*16] - movapd xmm8, [rsp + 2*16] - movapd xmm9, [rsp + 3*16] - movapd xmm10, [rsp + 4*16] - movapd xmm11, [rsp + 5*16] - movapd xmm12, [rsp + 6*16] - movapd xmm13, [rsp + 7*16] - movapd xmm14, [rsp + 8*16] - movapd xmm15, [rsp + 9*16] + movapd xmm6, OWORD PTR [rsp + 0*16] + movapd xmm7, OWORD PTR [rsp + 1*16] + movapd xmm8, OWORD PTR [rsp + 2*16] + movapd xmm9, OWORD PTR [rsp + 3*16] + movapd xmm10, OWORD PTR [rsp + 4*16] + movapd xmm11, OWORD PTR [rsp + 5*16] + movapd xmm12, OWORD PTR [rsp + 6*16] + movapd xmm13, OWORD PTR [rsp + 7*16] + movapd xmm14, OWORD PTR [rsp + 8*16] + movapd xmm15, OWORD PTR [rsp + 9*16] add rsp, 8+10*16 pop r15 pop r14 @@ -319,16 +319,16 @@ caml_callback_exn: push r14 push r15 sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd [rsp + 0*16], xmm6 - movapd [rsp + 1*16], xmm7 - movapd [rsp + 2*16], xmm8 - movapd [rsp + 3*16], xmm9 - movapd [rsp + 4*16], xmm10 - movapd [rsp + 5*16], xmm11 - movapd [rsp + 6*16], xmm12 - movapd [rsp + 7*16], xmm13 - movapd [rsp + 8*16], xmm14 - movapd [rsp + 9*16], xmm15 + movapd OWORD PTR [rsp + 0*16], xmm6 + movapd OWORD PTR [rsp + 1*16], xmm7 + movapd OWORD PTR [rsp + 2*16], xmm8 + movapd OWORD PTR [rsp + 3*16], xmm9 + movapd OWORD PTR [rsp + 4*16], xmm10 + movapd OWORD PTR [rsp + 5*16], xmm11 + movapd OWORD PTR [rsp + 6*16], xmm12 + movapd OWORD PTR [rsp + 7*16], xmm13 + movapd OWORD PTR [rsp + 8*16], xmm14 + movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial loading of arguments mov rbx, rcx ; closure mov rax, rdx ; argument @@ -348,16 +348,16 @@ caml_callback2_exn: push r14 push r15 sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd [rsp + 0*16], xmm6 - movapd [rsp + 1*16], xmm7 - movapd [rsp + 2*16], xmm8 - movapd [rsp + 3*16], xmm9 - movapd [rsp + 4*16], xmm10 - movapd [rsp + 5*16], xmm11 - movapd [rsp + 6*16], xmm12 - movapd [rsp + 7*16], xmm13 - movapd [rsp + 8*16], xmm14 - movapd [rsp + 9*16], xmm15 + movapd OWORD PTR [rsp + 0*16], xmm6 + movapd OWORD PTR [rsp + 1*16], xmm7 + movapd OWORD PTR [rsp + 2*16], xmm8 + movapd OWORD PTR [rsp + 3*16], xmm9 + movapd OWORD PTR [rsp + 4*16], xmm10 + movapd OWORD PTR [rsp + 5*16], xmm11 + movapd OWORD PTR [rsp + 6*16], xmm12 + movapd OWORD PTR [rsp + 7*16], xmm13 + movapd OWORD PTR [rsp + 8*16], xmm14 + movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial loading of arguments mov rdi, rcx ; closure mov rax, rdx ; first argument @@ -378,16 +378,16 @@ caml_callback3_exn: push r14 push r15 sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd [rsp + 0*16], xmm6 - movapd [rsp + 1*16], xmm7 - movapd [rsp + 2*16], xmm8 - movapd [rsp + 3*16], xmm9 - movapd [rsp + 4*16], xmm10 - movapd [rsp + 5*16], xmm11 - movapd [rsp + 6*16], xmm12 - movapd [rsp + 7*16], xmm13 - movapd [rsp + 8*16], xmm14 - movapd [rsp + 9*16], xmm15 + movapd OWORD PTR [rsp + 0*16], xmm6 + movapd OWORD PTR [rsp + 1*16], xmm7 + movapd OWORD PTR [rsp + 2*16], xmm8 + movapd OWORD PTR [rsp + 3*16], xmm9 + movapd OWORD PTR [rsp + 4*16], xmm10 + movapd OWORD PTR [rsp + 5*16], xmm11 + movapd OWORD PTR [rsp + 6*16], xmm12 + movapd OWORD PTR [rsp + 7*16], xmm13 + movapd OWORD PTR [rsp + 8*16], xmm14 + movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial loading of arguments mov rsi, rcx ; closure mov rax, rdx ; first argument |