Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / remat-constant.ll
blob47deb2bf574daea48b9f41d23fa543453ed37fce
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-linux -relocation-model=static | FileCheck %s
4 declare void @bar() nounwind
6 @a = external dso_local constant float
8 declare void @qux(float %f) nounwind
10 define void @foo() nounwind  {
11 ; CHECK-LABEL: foo:
12 ; CHECK:       # %bb.0:
13 ; CHECK-NEXT:    pushq %rax
14 ; CHECK-NEXT:    callq bar@PLT
15 ; CHECK-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
16 ; CHECK-NEXT:    callq qux@PLT
17 ; CHECK-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
18 ; CHECK-NEXT:    callq qux@PLT
19 ; CHECK-NEXT:    popq %rax
20 ; CHECK-NEXT:    retq
21   %f = load float, ptr @a
22   call void @bar()
23   call void @qux(float %f)
24   call void @qux(float %f)
25   ret void