mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
intel/compiler: grf127 can not be dest when src and dest overlap in send
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@gmail.com> Cc: 18.1 <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
6f3aee40f9
commit
0e47ecb29a
1 changed files with 11 additions and 0 deletions
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
return error_msg;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue