xref: /llvm-project/llvm/test/CodeGen/X86/sse-align-2.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=x86_64-- -mcpu=penryn | FileCheck %s
3
4define <4 x float> @foo(ptr %p, <4 x float> %x) nounwind {
5; CHECK-LABEL: foo:
6; CHECK:       # %bb.0:
7; CHECK-NEXT:    movups (%rdi), %xmm1
8; CHECK-NEXT:    mulps %xmm1, %xmm0
9; CHECK-NEXT:    retq
10  %t = load <4 x float>, ptr %p, align 4
11  %z = fmul <4 x float> %t, %x
12  ret <4 x float> %z
13}
14
15define <2 x double> @bar(ptr %p, <2 x double> %x) nounwind {
16; CHECK-LABEL: bar:
17; CHECK:       # %bb.0:
18; CHECK-NEXT:    movupd (%rdi), %xmm1
19; CHECK-NEXT:    mulpd %xmm1, %xmm0
20; CHECK-NEXT:    retq
21  %t = load <2 x double>, ptr %p, align 8
22  %z = fmul <2 x double> %t, %x
23  ret <2 x double> %z
24}
25