| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| ; RUN: llc < %s -mtriple=x86_64-linux -relocation-model=static | FileCheck %s |
| |
| declare void @bar() nounwind |
| |
| @a = external dso_local constant float |
| |
| declare void @qux(float %f) nounwind |
| |
| define void @foo() nounwind { |
| ; CHECK-LABEL: foo: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: pushq %rax |
| ; CHECK-NEXT: callq bar@PLT |
| ; CHECK-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero |
| ; CHECK-NEXT: callq qux@PLT |
| ; CHECK-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero |
| ; CHECK-NEXT: callq qux@PLT |
| ; CHECK-NEXT: popq %rax |
| ; CHECK-NEXT: retq |
| %f = load float, float* @a |
| call void @bar() |
| call void @qux(float %f) |
| call void @qux(float %f) |
| ret void |
| } |