1; RUN: llc < %s -march=x86 -mattr=sse4.1 -mcpu=nehalem -stack-alignment=16 > %t 2; RUN: grep pmul %t | count 12 3; RUN: grep mov %t | count 14 4 5define <4 x i32> @a(<4 x i32> %i) nounwind { 6 %A = mul <4 x i32> %i, < i32 117, i32 117, i32 117, i32 117 > 7 ret <4 x i32> %A 8} 9define <2 x i64> @b(<2 x i64> %i) nounwind { 10 %A = mul <2 x i64> %i, < i64 117, i64 117 > 11 ret <2 x i64> %A 12} 13define <4 x i32> @c(<4 x i32> %i, <4 x i32> %j) nounwind { 14 %A = mul <4 x i32> %i, %j 15 ret <4 x i32> %A 16} 17define <2 x i64> @d(<2 x i64> %i, <2 x i64> %j) nounwind { 18 %A = mul <2 x i64> %i, %j 19 ret <2 x i64> %A 20} 21; Use a call to force spills. 22declare void @foo() 23define <4 x i32> @e(<4 x i32> %i, <4 x i32> %j) nounwind { 24 call void @foo() 25 %A = mul <4 x i32> %i, %j 26 ret <4 x i32> %A 27} 28define <2 x i64> @f(<2 x i64> %i, <2 x i64> %j) nounwind { 29 call void @foo() 30 %A = mul <2 x i64> %i, %j 31 ret <2 x i64> %A 32} 33