diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_conv.c | 18 |
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 605eb043c7..40c6618752 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; } |