[vISA]: Update the W/A for the qword type instructions.

1) Must not use non-qword scalar broadcast when qword is present in any of
the source or destination, instead must convert the non-qword scalar into a qword
before doing a qword scalar broadcast. For example:

mov (8|M0) r88.0<1>:q r2.0<0;1,0>:d
=>
mov (1|M0) r3.0<1>:q r2.0<0;1,0>:d
mov (8|M0) r88.0<1>:q r3.0<0;1,0>:q

2)Instructions with the following pattern must not be used - destination
crosses GRF boundary with qword datatype, and none of the sources datatype is
qword. For example:
shl (16|M0)  r11.0<1>:q  r7.0<2;1,0>:d   2:w
=>
shl (8|M0)   r11.0<1>:q  r7.0<2;1,0>:d   2:w
shl (8|M8)   r12.0<1>:q  r8.0<2;1,0>:d   2:w
This commit is contained in:
liufang
2022-01-12 18:28:35 +00:00
committed by igcbot
parent 964748a518
commit 01082960d8
4 changed files with 79 additions and 26 deletions

View File

@ -8333,3 +8333,9 @@ SPDX-License-Identifier: MIT
"Workaround",
WA_BUG_TYPE_UNKNOWN,
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
WA_DECLARE(
Wa_16012725276,
"Workaround",
WA_BUG_TYPE_UNKNOWN,
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)