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 4 define <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 15 define <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