; 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.