mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-01 11:10:27 +01:00
gallivm: Use the wrappers for SSE pack intrinsics.
Fixes assertion failures on LLVM 2.6.
This commit is contained in:
parent
607e3c542c
commit
f91b4266c6
1 changed files with 3 additions and 15 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue