aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_conv.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_conv.c b/src/gallium/auxiliary/gallivm/lp_bld_conv.c
index 605eb043c73..40c66187520 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_conv.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_conv.c
@@ -306,21 +306,9 @@ lp_build_conv(LLVMBuilderRef builder,
LLVMBuildFMul(builder, src[3], const_255f, ""),
int32_vec_type, "");
-#if HAVE_LLVM >= 0x0207
- lo = lp_build_intrinsic_binary(builder, "llvm.x86.sse2.packssdw.128",
- int16_vec_type, src_int0, src_int1);
- hi = lp_build_intrinsic_binary(builder, "llvm.x86.sse2.packssdw.128",
- int16_vec_type, src_int2, src_int3);
- dst[i] = lp_build_intrinsic_binary(builder, "llvm.x86.sse2.packuswb.128",
- dst_vec_type, lo, hi);
-#else
- lo = lp_build_intrinsic_binary(builder, "llvm.x86.sse2.packssdw.128",
- int32_vec_type, src_int0, src_int1);
- hi = lp_build_intrinsic_binary(builder, "llvm.x86.sse2.packssdw.128",
- int32_vec_type, src_int2, src_int3);
- dst[i] = lp_build_intrinsic_binary(builder, "llvm.x86.sse2.packuswb.128",
- int16_vec_type, lo, hi);
-#endif
+ lo = lp_build_pack2(builder, int32_type, int16_type, src_int0, src_int1);
+ hi = lp_build_pack2(builder, int32_type, int16_type, src_int2, src_int3);
+ dst[i] = lp_build_pack2(builder, int16_type, dst_type, lo, hi);
}
return;
}