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