mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-08 08:54:58 +00:00
Avoid unnecessary duplication of operand 0 of X86::FpSET_ST0_80. This duplication would cause one register to remain on the stack at the function return. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74534 91177308-0d34-0410-b5e6-96231b3b80d8
16 lines
500 B
LLVM
16 lines
500 B
LLVM
; RUN: llvm-as < %s | llc -march=x86
|
|
; PR4485
|
|
|
|
define void @test(x86_fp80* %a) {
|
|
entry:
|
|
%0 = load x86_fp80* %a, align 16
|
|
%1 = fmul x86_fp80 %0, 0xK4006B400000000000000
|
|
%2 = fmul x86_fp80 %1, 0xK4012F424000000000000
|
|
tail call void asm sideeffect "fistpl $0", "{st},~{st}"(x86_fp80 %2)
|
|
%3 = load x86_fp80* %a, align 16
|
|
%4 = fmul x86_fp80 %3, 0xK4006B400000000000000
|
|
%5 = fmul x86_fp80 %4, 0xK4012F424000000000000
|
|
tail call void asm sideeffect "fistpl $0", "{st},~{st}"(x86_fp80 %5)
|
|
ret void
|
|
}
|