mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
5d6f892197
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108046 91177308-0d34-0410-b5e6-96231b3b80d8
22 lines
544 B
LLVM
22 lines
544 B
LLVM
; RUN: llc < %s -march=x86 | FileCheck %s
|
|
; PR4185
|
|
|
|
; Passing a non-killed value to asm in {st}.
|
|
; Make sure it is duped before.
|
|
; asm kills st(0), so we shouldn't pop anything
|
|
; CHECK: fld %st(0)
|
|
; CHECK: fistpl
|
|
; CHECK-NOT: fstp
|
|
; CHECK: fistpl
|
|
; CHECK-NOT: fstp
|
|
; CHECK: ret
|
|
define void @test() {
|
|
return:
|
|
call void asm sideeffect "fistpl $0", "{st}"(double 1.000000e+06)
|
|
call void asm sideeffect "fistpl $0", "{st}"(double 1.000000e+06)
|
|
ret void
|
|
}
|
|
|
|
; A valid alternative would be to remat the constant pool load before each
|
|
; inline asm.
|