diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2009-06-30 16:40:03 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2009-06-30 16:40:03 +0000 |
| commit | 317fd045e27d4a28b299a5d6263ab934566f80f0 (patch) | |
| tree | 04a7a9273fba6dbcb8944dbd4b851b453878b72d /llvm/test/CodeGen/X86 | |
| parent | 5f12b5386c53e6913c45d569e205c9256c085fe9 (diff) | |
| download | bcm5719-llvm-317fd045e27d4a28b299a5d6263ab934566f80f0.tar.gz bcm5719-llvm-317fd045e27d4a28b299a5d6263ab934566f80f0.zip | |
Fix PR4485.
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.
llvm-svn: 74534
Diffstat (limited to 'llvm/test/CodeGen/X86')
| -rw-r--r-- | llvm/test/CodeGen/X86/inline-asm-fpstack4.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/inline-asm-fpstack5.ll | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/inline-asm-fpstack4.ll b/llvm/test/CodeGen/X86/inline-asm-fpstack4.ll index 24a63537fcf..c9122fad6cf 100644 --- a/llvm/test/CodeGen/X86/inline-asm-fpstack4.ll +++ b/llvm/test/CodeGen/X86/inline-asm-fpstack4.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc -march=x86 > %t +; RUN: llvm-as < %s | llc -march=x86 ; PR4484 declare x86_fp80 @ceil() diff --git a/llvm/test/CodeGen/X86/inline-asm-fpstack5.ll b/llvm/test/CodeGen/X86/inline-asm-fpstack5.ll new file mode 100644 index 00000000000..64f3788f45d --- /dev/null +++ b/llvm/test/CodeGen/X86/inline-asm-fpstack5.ll @@ -0,0 +1,15 @@ +; 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 +} |

