Michael Liao | c9ae780 | 2013-04-30 07:51:08 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 -relocation-model=static | FileCheck %s |
| 2 | |
| 3 | ; CHECK-NOT: movaps |
Evan Cheng | 49bad4c | 2008-06-16 20:29:38 +0000 | [diff] [blame] | 4 | |
| 5 | @a = external global <2 x i64> ; <<2 x i64>*> [#uses=1] |
| 6 | |
| 7 | define <2 x i64> @madd(<2 x i64> %b) nounwind { |
| 8 | entry: |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 9 | %tmp2 = load <2 x i64>, <2 x i64>* @a, align 16 ; <<2 x i64>> [#uses=1] |
Evan Cheng | 49bad4c | 2008-06-16 20:29:38 +0000 | [diff] [blame] | 10 | %tmp6 = bitcast <2 x i64> %b to <8 x i16> ; <<8 x i16>> [#uses=1] |
| 11 | %tmp9 = bitcast <2 x i64> %tmp2 to <8 x i16> ; <<8 x i16>> [#uses=1] |
| 12 | %tmp11 = tail call <4 x i32> @llvm.x86.sse2.pmadd.wd( <8 x i16> %tmp9, <8 x i16> %tmp6 ) nounwind readnone ; <<4 x i32>> [#uses=1] |
| 13 | %tmp14 = bitcast <4 x i32> %tmp11 to <2 x i64> ; <<2 x i64>> [#uses=1] |
| 14 | ret <2 x i64> %tmp14 |
| 15 | } |
| 16 | |
| 17 | declare <4 x i32> @llvm.x86.sse2.pmadd.wd(<8 x i16>, <8 x i16>) nounwind readnone |