| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=-sse2,-sse | FileCheck %s --check-prefix=NOSSE |
| ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=SSE |
| |
| @gf = global { float, float } zeroinitializer, align 8 |
| |
| define void @f(<2 x float> noundef nofpclass(nan inf) %e.coerce) { |
| ; NOSSE-LABEL: f: |
| ; NOSSE: # %bb.0: # %entry |
| ; NOSSE-NEXT: flds {{[0-9]+}}(%rsp) |
| ; NOSSE-NEXT: flds {{[0-9]+}}(%rsp) |
| ; NOSSE-NEXT: movq gf@GOTPCREL(%rip), %rax |
| ; NOSSE-NEXT: fstps 4(%rax) |
| ; NOSSE-NEXT: fstps (%rax) |
| ; NOSSE-NEXT: retq |
| ; |
| ; SSE-LABEL: f: |
| ; SSE: # %bb.0: # %entry |
| ; SSE-NEXT: movq gf@GOTPCREL(%rip), %rax |
| ; SSE-NEXT: movlps %xmm0, (%rax) |
| ; SSE-NEXT: retq |
| entry: |
| store <2 x float> %e.coerce, ptr @gf, align 8 |
| ret void |
| } |