diff options
author | Andreas Gampe <agampe@google.com> | 2014-07-23 10:05:02 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2014-07-23 11:09:41 -0700 |
commit | fea29016a79f39ac12a4ba4ebdcbc86800c03427 (patch) | |
tree | 68c12012b7ebf8b18607a427f12771439add6ec6 | |
parent | 80b3f96ec1e408f34b8e7b76b14774794fa1abd8 (diff) | |
download | art-fea29016a79f39ac12a4ba4ebdcbc86800c03427.zip art-fea29016a79f39ac12a4ba4ebdcbc86800c03427.tar.gz art-fea29016a79f39ac12a4ba4ebdcbc86800c03427.tar.bz2 |
ART: Fix x86_64 instrumentation_exit, also movsd -> movq
Change movd/movsd to movq.
Bug: 16386215
Change-Id: Icca71ca2aeeb2917aff46043051d6046f04395d4
-rw-r--r-- | runtime/arch/x86/quick_entrypoints_x86.S | 6 | ||||
-rw-r--r-- | runtime/arch/x86_64/quick_entrypoints_x86_64.S | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/runtime/arch/x86/quick_entrypoints_x86.S b/runtime/arch/x86/quick_entrypoints_x86.S index 3d87297..1522129 100644 --- a/runtime/arch/x86/quick_entrypoints_x86.S +++ b/runtime/arch/x86/quick_entrypoints_x86.S @@ -1277,12 +1277,12 @@ DEFINE_FUNCTION art_quick_instrumentation_exit mov %esp, %ecx // Remember SP subl LITERAL(8), %esp // Save float return value. CFI_ADJUST_CFA_OFFSET(8) - movsd %xmm0, (%esp) + movq %xmm0, (%esp) PUSH edx // Save gpr return value. PUSH eax subl LITERAL(16), %esp // Align stack CFI_ADJUST_CFA_OFFSET(16) - movsd %xmm0, (%esp) // Pass float return value. + movq %xmm0, (%esp) // Pass float return value. PUSH edx // Pass gpr return value. PUSH eax PUSH ecx // Pass SP. @@ -1297,7 +1297,7 @@ DEFINE_FUNCTION art_quick_instrumentation_exit // (ebx is pretending to be our LR). POP eax // Restore gpr return value. POP edx - movsd (%esp), %xmm0 // Restore fpr return value. + movq (%esp), %xmm0 // Restore fpr return value. addl LITERAL(8), %esp CFI_ADJUST_CFA_OFFSET(-8) RESTORE_REF_ONLY_CALLEE_SAVE_FRAME diff --git a/runtime/arch/x86_64/quick_entrypoints_x86_64.S b/runtime/arch/x86_64/quick_entrypoints_x86_64.S index 50b2de4..48bc240 100644 --- a/runtime/arch/x86_64/quick_entrypoints_x86_64.S +++ b/runtime/arch/x86_64/quick_entrypoints_x86_64.S @@ -1495,7 +1495,7 @@ DEFINE_FUNCTION art_quick_instrumentation_exit PUSH rax // Save integer result. subq LITERAL(8), %rsp // Save floating-point result. CFI_ADJUST_CFA_OFFSET(8) - movd %xmm0, (%rsp) + movq %xmm0, (%rsp) movq %gs:THREAD_SELF_OFFSET, %rdi // Pass Thread. movq %rax, %rdx // Pass integer result. @@ -1506,7 +1506,7 @@ DEFINE_FUNCTION art_quick_instrumentation_exit movq %rax, %rdi // Store return PC movq %rdx, %rsi // Store second return PC in hidden arg. - movd (%rsp), %xmm0 // Restore floating-point result. + movq (%rsp), %xmm0 // Restore floating-point result. addq LITERAL(8), %rsp CFI_ADJUST_CFA_OFFSET(-8) POP rax // Restore integer result. |