Mesa (main): nir/lower_io: use nir_vector_insert_imm()
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 24 10:55:16 UTC 2021
Module: Mesa
Branch: main
Commit: aeb1b4c30c1cae4a2e1600ba211946ba8090be7d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aeb1b4c30c1cae4a2e1600ba211946ba8090be7d
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Thu Aug 19 10:40:17 2021 +0100
nir/lower_io: use nir_vector_insert_imm()
This creates a single nir_op_vecn instead of a nir_op_vecn and several
copies.
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12469>
---
src/compiler/nir/nir_lower_io.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
index 43919496395..f5651d45ed4 100644
--- a/src/compiler/nir/nir_lower_io.c
+++ b/src/compiler/nir/nir_lower_io.c
@@ -786,16 +786,12 @@ build_addr_iadd(nir_builder *b, nir_ssa_def *addr,
case nir_address_format_64bit_bounded_global:
assert(addr->num_components == 4);
assert(addr->bit_size == offset->bit_size);
- return nir_vec4(b, nir_channel(b, addr, 0),
- nir_channel(b, addr, 1),
- nir_channel(b, addr, 2),
- nir_iadd(b, nir_channel(b, addr, 3), offset));
+ return nir_vector_insert_imm(b, addr, nir_iadd(b, nir_channel(b, addr, 3), offset), 3);
case nir_address_format_32bit_index_offset:
assert(addr->num_components == 2);
assert(addr->bit_size == offset->bit_size);
- return nir_vec2(b, nir_channel(b, addr, 0),
- nir_iadd(b, nir_channel(b, addr, 1), offset));
+ return nir_vector_insert_imm(b, addr, nir_iadd(b, nir_channel(b, addr, 1), offset), 1);
case nir_address_format_32bit_index_offset_pack64:
assert(addr->num_components == 1);
@@ -807,8 +803,7 @@ build_addr_iadd(nir_builder *b, nir_ssa_def *addr,
case nir_address_format_vec2_index_32bit_offset:
assert(addr->num_components == 3);
assert(offset->bit_size == 32);
- return nir_vec3(b, nir_channel(b, addr, 0), nir_channel(b, addr, 1),
- nir_iadd(b, nir_channel(b, addr, 2), offset));
+ return nir_vector_insert_imm(b, addr, nir_iadd(b, nir_channel(b, addr, 2), offset), 2);
case nir_address_format_62bit_generic:
assert(addr->num_components == 1);
More information about the mesa-commit
mailing list