summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2015-07-24 21:24:46 -0700
committerJan Kotas <jkotas@microsoft.com>2015-07-24 21:24:46 -0700
commit0a83c2fc30146b335a24c85de2a5ba33a72bdbdd (patch)
treedcdd833ef51cc56b4905e999df1a7227621784c7 /src/vm
parent9501a4fac546d188c9459e79d1b77c3ca0442e49 (diff)
parentfde334aec8c594fa2f3d057ea75e7e427b7c0757 (diff)
downloadcoreclr-0a83c2fc30146b335a24c85de2a5ba33a72bdbdd.tar.gz
coreclr-0a83c2fc30146b335a24c85de2a5ba33a72bdbdd.tar.bz2
coreclr-0a83c2fc30146b335a24c85de2a5ba33a72bdbdd.zip
Merge pull request #1262 from apanda/master
Fix build to work with binutils v2.25.0 on Linux
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/amd64/UMThunkStub.asm104
-rw-r--r--src/vm/amd64/umthunkstub.S16
-rw-r--r--src/vm/amd64/unixasmhelpers.S12
3 files changed, 66 insertions, 66 deletions
diff --git a/src/vm/amd64/UMThunkStub.asm b/src/vm/amd64/UMThunkStub.asm
index 9479f3f3b1..317025769d 100644
--- a/src/vm/amd64/UMThunkStub.asm
+++ b/src/vm/amd64/UMThunkStub.asm
@@ -83,10 +83,10 @@ endif
mov r8, [rsp + TheUMEntryPrestub_STACK_FRAME_SIZE + 18h]
mov r9, [rsp + TheUMEntryPrestub_STACK_FRAME_SIZE + 20h]
- movdqa xmm0, [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET]
- movdqa xmm1, [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET + 10h]
- movdqa xmm2, [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET + 20h]
- movdqa xmm3, [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET + 30h]
+ movdqa xmm0, xmmword ptr [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET]
+ movdqa xmm1, xmmword ptr [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET + 10h]
+ movdqa xmm2, xmmword ptr [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET + 20h]
+ movdqa xmm3, xmmword ptr [rsp + TheUMEntryPrestub_XMM_SAVE_OFFSET + 30h]
;
; epilogue
@@ -257,10 +257,10 @@ DoThreadSetup:
; @CONSIDER: mark UMEntryThunks that have FP params and only save/restore xmm regs on those calls
; initial measurements indidcate that this could be worth about a 5% savings in reverse
; pinvoke overhead.
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
+ movdqa xmmword ptr[rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
+ movdqa xmmword ptr[rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
+ movdqa xmmword ptr[rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
+ movdqa xmmword ptr[rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
mov [rbp + UMThunkStubAMD64_RARE_PATH_SPILL_OFFSET], METHODDESC_REGISTER
call CreateThreadBlockThrow
@@ -272,10 +272,10 @@ DoThreadSetup:
mov r9, [rbp + UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 18h]
; @CONSIDER: mark UMEntryThunks that have FP params and only save/restore xmm regs on those calls
- movdqa xmm0, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
- movdqa xmm1, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h]
- movdqa xmm2, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h]
- movdqa xmm3, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h]
+ movdqa xmm0, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
+ movdqa xmm1, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h]
+ movdqa xmm2, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h]
+ movdqa xmm3, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h]
jmp HaveThread
@@ -289,10 +289,10 @@ DoTrapReturningThreadsTHROW:
; @CONSIDER: mark UMEntryThunks that have FP params and only save/restore xmm regs on those calls
; initial measurements indidcate that this could be worth about a 5% savings in reverse
; pinvoke overhead.
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
mov [rbp + UMThunkStubAMD64_RARE_PATH_SPILL_OFFSET], METHODDESC_REGISTER
mov rcx, r12 ; Thread* pThread
@@ -306,10 +306,10 @@ DoTrapReturningThreadsTHROW:
mov r9, [rbp + UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 18h]
; @CONSIDER: mark UMEntryThunks that have FP params and only save/restore xmm regs on those calls
- movdqa xmm0, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
- movdqa xmm1, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h]
- movdqa xmm2, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h]
- movdqa xmm3, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h]
+ movdqa xmm0, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
+ movdqa xmm1, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h]
+ movdqa xmm2, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h]
+ movdqa xmm3, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h]
jmp InCooperativeMode
@@ -357,10 +357,10 @@ NotifyHost_ReverseEnterRuntime:
; @CONSIDER: mark UMEntryThunks that have FP params and only save/restore xmm regs on those calls
; initial measurements indidcate that this could be worth about a 5% savings in reverse
; pinvoke overhead.
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
mov rcx, r12
call ReverseEnterRuntimeHelper
@@ -372,10 +372,10 @@ NotifyHost_ReverseEnterRuntime:
mov r9, [rbp + UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 18h]
; @CONSIDER: mark UMEntryThunks that have FP params and only save/restore xmm regs on those calls
- movdqa xmm0, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
- movdqa xmm1, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h]
- movdqa xmm2, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h]
- movdqa xmm3, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h]
+ movdqa xmm0, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
+ movdqa xmm1, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h]
+ movdqa xmm2, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h]
+ movdqa xmm3, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h]
mov METHODDESC_REGISTER, [rbp + UMThunkStubAMD64_RARE_PATH_SPILL_OFFSET]
@@ -385,7 +385,7 @@ NotifyHost_ReverseLeaveRuntime:
; save rax, xmm0
mov [rbp + UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h], rax
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
mov rcx, r12
call ReverseLeaveRuntimeHelper
@@ -393,7 +393,7 @@ NotifyHost_ReverseLeaveRuntime:
; restore rax, xmm0
mov rax, [rbp + UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h]
- movdqa xmm0, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
+ movdqa xmm0, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
jmp Done_NotifyHost_ReverseLeaveRuntime
endif
@@ -410,10 +410,10 @@ WrongAppDomain:
;
; save off xmm registers
;
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
- movdqa [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h], xmm0
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 10h], xmm1
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 20h], xmm2
+ movdqa xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 30h], xmm3
;
; call our helper to perform the AD transtion
@@ -426,7 +426,7 @@ WrongAppDomain:
; restore return value
mov rax, [rbp + UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h]
- movdqa xmm0, [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
+ movdqa xmm0, xmmword ptr [rbp + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0h]
jmp PostCall
@@ -486,10 +486,10 @@ ArgumentsSetup:
mov r8, [rsi + 10h]
mov r9, [rsi + 18h]
- movdqa xmm0, [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h]
- movdqa xmm1, [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 10h]
- movdqa xmm2, [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 20h]
- movdqa xmm3, [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 30h]
+ movdqa xmm0, xmmword ptr [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h]
+ movdqa xmm1, xmmword ptr [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 10h]
+ movdqa xmm2, xmmword ptr [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 20h]
+ movdqa xmm3, xmmword ptr [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 30h]
mov rax, [METHODDESC_REGISTER + OFFSETOF__UMEntryThunk__m_pUMThunkMarshInfo] ; rax <- UMThunkMarshInfo*
mov rax, [rax + OFFSETOF__UMThunkMarshInfo__m_pILStub] ; rax <- Stub*
@@ -497,7 +497,7 @@ ArgumentsSetup:
; make sure we don't trash the return value
mov [rsi + 0h], rax
- movdqa [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h], xmm0
+ movdqa xmmword ptr [rsi + UMThunkStubAMD64_XMM_SAVE_OFFSET - UMThunkStubAMD64_ARGUMENTS_STACK_HOME_OFFSET + 0h], xmm0
lea rsp, [rbp - UM2MThunk_WrapperHelper_FRAME_OFFSET + UM2MThunk_WrapperHelper_FIXED_STACK_ALLOC_SIZE]
pop rbp
@@ -546,17 +546,17 @@ IsHostHookEnabledHelper_FIXED_STACK_ALLOC_SIZE = 20h + 40h
END_PROLOGUE
- movdqa [rsp + 20h + 0h], xmm0
- movdqa [rsp + 20h + 10h], xmm1
- movdqa [rsp + 20h + 20h], xmm2
- movdqa [rsp + 20h + 30h], xmm3
+ movdqa xmmword ptr [rsp + 20h + 0h], xmm0
+ movdqa xmmword ptr [rsp + 20h + 10h], xmm1
+ movdqa xmmword ptr [rsp + 20h + 20h], xmm2
+ movdqa xmmword ptr [rsp + 20h + 30h], xmm3
call NDirect__IsHostHookEnabled
- movdqa xmm0, [rsp + 20h + 0h]
- movdqa xmm1, [rsp + 20h + 10h]
- movdqa xmm2, [rsp + 20h + 20h]
- movdqa xmm3, [rsp + 20h + 30h]
+ movdqa xmm0, xmmword ptr [rsp + 20h + 0h]
+ movdqa xmm1, xmmword ptr [rsp + 20h + 10h]
+ movdqa xmm2, xmmword ptr [rsp + 20h + 20h]
+ movdqa xmm3, xmmword ptr [rsp + 20h + 30h]
; epilog
add rsp, IsHostHookEnabledHelper_FIXED_STACK_ALLOC_SIZE
@@ -591,10 +591,10 @@ NESTED_ENTRY IJWNOADThunk__MakeCall, _TEXT
mov rcx, METHODDESC_REGISTER
call IJWNOADThunk__FindThunkTarget
- movdqa xmm0, [rsp + 20h]
- movdqa xmm1, [rsp + 30h]
- movdqa xmm2, [rsp + 40h]
- movdqa xmm3, [rsp + 50h]
+ movdqa xmm0, xmmword ptr [rsp + 20h]
+ movdqa xmm1, xmmword ptr [rsp + 30h]
+ movdqa xmm2, xmmword ptr [rsp + 40h]
+ movdqa xmm3, xmmword ptr [rsp + 50h]
mov rcx, [rsp + 70h]
mov rdx, [rsp + 78h]
diff --git a/src/vm/amd64/umthunkstub.S b/src/vm/amd64/umthunkstub.S
index 9f1fb6d6af..a649c2c5b9 100644
--- a/src/vm/amd64/umthunkstub.S
+++ b/src/vm/amd64/umthunkstub.S
@@ -123,14 +123,14 @@ LOCAL_LABEL(UMThunkStub_ArgumentsSetup):
mov rcx, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_INT_ARG_OFFSET + 0x18]
mov r8, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_INT_ARG_OFFSET + 0x20]
mov r9, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_INT_ARG_OFFSET + 0x28]
- movdqa xmm0, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET]
- movdqa xmm1, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x10]
- movdqa xmm2, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x20]
- movdqa xmm3, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x30]
- movdqa xmm4, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x40]
- movdqa xmm5, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x50]
- movdqa xmm6, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x60]
- movdqa xmm7, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x70]
+ movdqa xmm0, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET]
+ movdqa xmm1, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x10]
+ movdqa xmm2, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x20]
+ movdqa xmm3, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x30]
+ movdqa xmm4, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x40]
+ movdqa xmm5, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x50]
+ movdqa xmm6, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x60]
+ movdqa xmm7, xmmword ptr [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_XMM_SAVE_OFFSET + 0x70]
mov rax, [r11 + OFFSETOF__UMThunkMarshInfo__m_pILStub] // rax <- Stub*
call rax
diff --git a/src/vm/amd64/unixasmhelpers.S b/src/vm/amd64/unixasmhelpers.S
index aaee562323..5055a91466 100644
--- a/src/vm/amd64/unixasmhelpers.S
+++ b/src/vm/amd64/unixasmhelpers.S
@@ -137,8 +137,8 @@ NESTED_END NDirectImportThunk, _TEXT
// MOVDQA is not an atomic operation. You need to call this function in a crst.
// </NOTE>
LEAF_ENTRY moveOWord, _TEXT
- movdqu xmm0, [rdi]
- movdqu [rsi], xmm0
+ movdqu xmm0, xmmword ptr [rdi]
+ movdqu xmmword ptr [rsi], xmm0
ret
LEAF_END moveOWord, _TEXT
@@ -157,14 +157,14 @@ NESTED_ENTRY JIT_RareDisableHelper, _TEXT, NoHandler
alloc_stack 0x28
END_PROLOGUE
// First float return register
- movdqa [rsp], xmm0
+ movdqa xmmword ptr [rsp], xmm0
// Second float return register
- movdqa [rsp+0x10], xmm1
+ movdqa xmmword ptr [rsp+0x10], xmm1
call C_FUNC(JIT_RareDisableHelperWorker)
- movdqa xmm0, [rsp]
- movdqa xmm1, [rsp+0x10]
+ movdqa xmm0, xmmword ptr [rsp]
+ movdqa xmm1, xmmword ptr [rsp+0x10]
free_stack 0x28
pop_register rdx
pop_register rax