@@ -77,13 +77,13 @@ movq 0(%rdi), %rdi movq -8(%rbp), %r11 movb 225(%r11), %r11b - cmpb $3, %r11b + cmpb $4, %r11b je .jmp_into_method - cmpb $4, %r11b + cmpb $5, %r11b je .jmp_into_method movq -16(%rbp), %r11 call *%r11 @@ -92,13 +92,18 @@ movq %rax, 48(%rdi) movq %rdx, 56(%rdi) movdqa %xmm0, 64(%rdi) movdqa %xmm1, 80(%rdi) - cmpb $2, 225(%rdi) + movb 225(%rdi), %r11b + + cmpb $2, %r11b je .pop_long_double + cmpb $3, %r11b + je .pop_complex_long_double + .return: movq %rbp, %rsp popq %rbp ret @@ -120,9 +125,14 @@ jmp *%r11 .pop_long_double: fstpt 192(%rdi) jmp .return + +.pop_complex_long_double: + fstpt 192(%rdi) + fstpt 208(%rdi) + jmp .return #ifdef OF_LINUX .section .note.GNU-stack, "", %progbits #endif