| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=+sse -O3 | FileCheck %s --check-prefixes=X86 |
| ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=-sse2,+sse -O3 | FileCheck %s --check-prefixes=X64-SSE1 |
| ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2,+sse -O3 | FileCheck %s --check-prefixes=X64-SSE2 |
| |
| define void @store_v2f32_constant(ptr %v) { |
| ; X86-LABEL: store_v2f32_constant: |
| ; X86: # %bb.0: |
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax |
| ; X86-NEXT: movaps {{.*#+}} xmm0 = [2.56E+2,5.12E+2,u,u] |
| ; X86-NEXT: movlps %xmm0, (%eax) |
| ; X86-NEXT: retl |
| ; |
| ; X64-SSE1-LABEL: store_v2f32_constant: |
| ; X64-SSE1: # %bb.0: |
| ; X64-SSE1-NEXT: movaps {{.*#+}} xmm0 = [2.56E+2,5.12E+2,u,u] |
| ; X64-SSE1-NEXT: movlps %xmm0, (%rdi) |
| ; X64-SSE1-NEXT: retq |
| ; |
| ; X64-SSE2-LABEL: store_v2f32_constant: |
| ; X64-SSE2: # %bb.0: |
| ; X64-SSE2-NEXT: movsd {{.*#+}} xmm0 = [2.56E+2,5.12E+2,0.0E+0,0.0E+0] |
| ; X64-SSE2-NEXT: movsd %xmm0, (%rdi) |
| ; X64-SSE2-NEXT: retq |
| store <2 x float> <float 2.560000e+02, float 5.120000e+02>, ptr %v, align 4 |
| ret void |
| } |