From: Timothy Arceri Date: Wed, 13 Dec 2017 07:46:56 +0000 (+1100) Subject: ac: rework ac_llvm_extract_elem() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4a0c24f2dd97c670259a7ab0ced701dbf9bb5dd7;p=mesa.git ac: rework ac_llvm_extract_elem() Simplifies the logic a little and asserts index is 0. Suggested-by: Nicolai Hähnle Reviewed-by: Marek Olšák --- diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 0ea5e7f4caa..8a3a2abf17b 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -114,10 +114,10 @@ ac_llvm_extract_elem(struct ac_llvm_context *ac, LLVMValueRef value, int index) { - int count = ac_get_llvm_num_components(value); - - if (count == 1) + if (LLVMGetTypeKind(LLVMTypeOf(value)) != LLVMVectorTypeKind) { + assert(index == 0); return value; + } return LLVMBuildExtractElement(ac->builder, value, LLVMConstInt(ac->i32, index, false), "");