[Mesa-dev] [PATCH 07/14] intel/compiler: shuffle_from_32bit_read for 64-bit do_untyped_vector_read
Jason Ekstrand
jason at jlekstrand.net
Thu Jun 14 01:26:42 UTC 2018
On Sat, Jun 9, 2018 at 4:13 AM, Jose Maria Casanova Crespo <
jmcasanova at igalia.com> wrote:
> do_untyped_vector_read is used at load_ssbo and load_shared.
>
> The previous MOVs are removed because shuffle_from_32bit_read
> can handle storing the shuffle results in the expected destination
> just using the proper offset.
> ---
> src/intel/compiler/brw_fs_nir.cpp | 12 ++----------
> 1 file changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/src/intel/compiler/brw_fs_nir.cpp
> b/src/intel/compiler/brw_fs_nir.cpp
> index 7e738ade82e..780a9e228de 100644
> --- a/src/intel/compiler/brw_fs_nir.cpp
> +++ b/src/intel/compiler/brw_fs_nir.cpp
> @@ -2434,16 +2434,8 @@ do_untyped_vector_read(const fs_builder &bld,
> BRW_PREDICATE_NONE);
>
> /* Shuffle the 32-bit load result into valid 64-bit data */
> - const fs_reg packed_result = bld.vgrf(dest.type,
> iter_components);
> - shuffle_32bit_load_result_to_64bit_data(
> - bld, packed_result, read_result, iter_components);
> -
> - /* Move each component to its destination */
> - read_result = retype(read_result, BRW_REGISTER_TYPE_DF);
> - for (int c = 0; c < iter_components; c++) {
> - bld.MOV(offset(dest, bld, it * 2 + c),
> - offset(packed_result, bld, c));
> - }
>
I really don't know why we needed this extra set of MOVs. They seem pretty
pointless to me. Maybe history? In any case, this looks good.
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
> + shuffle_from_32bit_read(bld, offset(dest, bld, it * 2),
> + read_result, 0, iter_components);
>
> bld.ADD(read_offset, read_offset, brw_imm_ud(16));
> }
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180613/ee0c4451/attachment-0001.html>
More information about the mesa-dev
mailing list