[Mesa-dev] [PATCH 1/9] intel/compiler: grf127 can not be dest when src and dest overlap in send

Matt Turner mattst88 at gmail.com
Fri Jul 13 18:40:06 UTC 2018


On Fri, Jul 13, 2018 at 11:10 AM, Matt Turner <mattst88 at gmail.com> wrote:
> On Sun, Jul 8, 2018 at 5:27 PM, Jose Maria Casanova Crespo
> <jmcasanova at 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 <mattst88 at 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.

Ignore this. I got confused about what email I was replying to.


More information about the mesa-dev mailing list