On Sun, Jul 8, 2018 at 5:27 PM, Jose Maria Casanova Crespo
<jmcasan...@igalia.com> wrote:
> Implement at brw_eu_validate the restriction from Intel Broadwell PRM,
> vol 07, section "Instruction Set Reference", subsection "EUISA
> Instructions", Send Message (page 990):
>
> "r127 must not be used for return address when there is a src and
> dest overlap in send instruction."
>
> v2: Style fixes (Matt Turner)
>
> Reviewed-by: Matt Turner <matts...@gmail.com>
> ---
>  src/intel/compiler/brw_eu_validate.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/src/intel/compiler/brw_eu_validate.c 
> b/src/intel/compiler/brw_eu_validate.c
> index d3189d1ef5e..29d1fe46f71 100644
> --- a/src/intel/compiler/brw_eu_validate.c
> +++ b/src/intel/compiler/brw_eu_validate.c
> @@ -261,6 +261,17 @@ send_restrictions(const struct gen_device_info *devinfo,
>                    brw_inst_src0_da_reg_nr(devinfo, inst) < 112,
>                    "send with EOT must use g112-g127");
>        }
> +
> +      if (devinfo->gen >= 8) {
> +         ERROR_IF(!dst_is_null(devinfo, inst) &&
> +                  (brw_inst_dst_da_reg_nr(devinfo, inst) +
> +                   brw_inst_rlen(devinfo, inst) > 127) &&
> +                  (brw_inst_src0_da_reg_nr(devinfo, inst) +
> +                   brw_inst_mlen(devinfo, inst) >
> +                   brw_inst_dst_da_reg_nr(devinfo, inst)),
> +                  "r127 must not be used for return address when there is "
> +                  "a src and dest overlap");
> +      }

Please add a unit test case for this in
src/intel/compiler/test_eu_validate.cpp. To this point, I believe
everything in brw_eu_validate.c has a corresponding unit test.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to