acc8a1fa51d87eeee669fc22d35e800a2ed52b58
[oota-llvm.git] / test / CodeGen / X86 / absdiff_256.ll
1 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown  | FileCheck %s
2
3 declare <16 x i16> @llvm.sabsdiff.v16i16(<16 x i16>, <16 x i16>)
4
5 define <16 x i16> @test_sabsdiff_v16i16_expand(<16 x i16> %a1, <16 x i16> %a2) {
6 ; CHECK-LABEL: test_sabsdiff_v16i16_expand:
7 ; CHECK:       # BB#0:
8 ; CHECK:         psubw
9 ; CHECK:         pxor
10 ; CHECK:         pcmpgtw
11 ; CHECK:         movdqa
12 ; CHECK:         pandn
13 ; CHECK:         pxor
14 ; CHECK:         psubw
15 ; CHECK:         pcmpeqd
16 ; CHECK:         pxor
17 ; CHECK:         pandn
18 ; CHECK:         por
19 ; CHECK:         pcmpgtw
20 ; CHECK-DAG:     psubw {{%xmm[0-9]+}}, [[SRC:%xmm[0-9]+]]
21 ; CHECK-DAG:     pxor {{%xmm[0-9]+}}, [[DST:%xmm[0-9]+]]
22 ; CHECK:         pandn [[SRC]], [[DST]]
23 ; CHECK:         por
24 ; CHECK:         movdqa
25 ; CHECK:         retq
26   %1 = call <16 x i16> @llvm.sabsdiff.v16i16(<16 x i16> %a1, <16 x i16> %a2)
27   ret <16 x i16> %1
28 }
29