; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s declare <16 x i16> @llvm.sabsdiff.v16i16(<16 x i16>, <16 x i16>) define <16 x i16> @test_sabsdiff_v16i16_expand(<16 x i16> %a1, <16 x i16> %a2) { ; CHECK-LABEL: test_sabsdiff_v16i16_expand: ; CHECK: # BB#0: ; CHECK: psubw ; CHECK: pxor ; CHECK: pcmpgtw ; CHECK: movdqa ; CHECK: pandn ; CHECK: pxor ; CHECK: psubw ; CHECK: pcmpeqd ; CHECK: pxor ; CHECK: pandn ; CHECK: por ; CHECK: pcmpgtw ; CHECK-DAG: psubw {{%xmm[0-9]+}}, [[SRC:%xmm[0-9]+]] ; CHECK-DAG: pxor {{%xmm[0-9]+}}, [[DST:%xmm[0-9]+]] ; CHECK: pandn [[SRC]], [[DST]] ; CHECK: por ; CHECK: movdqa ; CHECK: retq %1 = call <16 x i16> @llvm.sabsdiff.v16i16(<16 x i16> %a1, <16 x i16> %a2) ret <16 x i16> %1 }