• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -mtriple=x86_64-linux -mattr=+sse4.1 -asm-verbose=0 | FileCheck %s
2; RUN: llc < %s -mtriple=x86_64-win32 -mattr=+sse4.1 -asm-verbose=0 | FileCheck %s -check-prefix=WIN64
3
4define <4 x i32> @test1(<4 x i32> %A, <4 x i32> %B) nounwind {
5; CHECK-LABEL: test1:
6; CHECK-NEXT: pmulld
7
8; WIN64-LABEL: test1:
9; WIN64-NEXT: movdqa  (%rcx), %xmm0
10; WIN64-NEXT: pmulld  (%rdx), %xmm0
11  %C = mul <4 x i32> %A, %B
12  ret <4 x i32> %C
13}
14
15define <4 x i32> @test1a(<4 x i32> %A, <4 x i32> *%Bp) nounwind {
16; CHECK-LABEL: test1a:
17; CHECK-NEXT: pmulld
18
19; WIN64-LABEL: test1a:
20; WIN64-NEXT: movdqa  (%rcx), %xmm0
21; WIN64-NEXT: pmulld  (%rdx), %xmm0
22
23  %B = load <4 x i32>, <4 x i32>* %Bp
24  %C = mul <4 x i32> %A, %B
25  ret <4 x i32> %C
26}
27