How about "Use shuffle_from_32bit_read for 64-bit gs_input_load"?  Also, as
a general comment, intel/fs would be a bit more specific prefix

Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>

On Sat, Jun 9, 2018 at 4:13 AM, Jose Maria Casanova Crespo <
jmcasan...@igalia.com> wrote:

> This implementation avoids two unneeded MOVs for each 64-bit
> component. One was done in the old shuffle, to avoid cases of
> src/dst overlap but this is not the case. And the removed MOV
> was already being being done in the shuffle.
>
> Copy propagation wasn't able to remove them because shuffle
> destination values are defined with partial writes because they
> have stride == 2.
> ---
>  src/intel/compiler/brw_fs_nir.cpp | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/intel/compiler/brw_fs_nir.cpp
> b/src/intel/compiler/brw_fs_nir.cpp
> index 780a9e228de..6abc7c0174d 100644
> --- a/src/intel/compiler/brw_fs_nir.cpp
> +++ b/src/intel/compiler/brw_fs_nir.cpp
> @@ -2305,11 +2305,11 @@ fs_visitor::emit_gs_input_load(const fs_reg &dst,
>        }
>
>        if (type_sz(dst.type) == 8) {
> -         shuffle_32bit_load_result_to_64bit_data(
> -            bld, tmp_dst, retype(tmp_dst, BRW_REGISTER_TYPE_F),
> num_components);
> -
> -         for (unsigned c = 0; c < num_components; c++)
> -            bld.MOV(offset(dst, bld, iter * 2 + c), offset(tmp_dst, bld,
> c));
> +         shuffle_from_32bit_read(bld,
> +                                 offset(dst, bld, iter * 2),
> +                                 retype(tmp_dst, BRW_REGISTER_TYPE_D),
> +                                 0,
> +                                 num_components);
>        }
>
>        if (num_iterations > 1) {
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to