mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
aco: consider SDWA during value numbering
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Fixes:23ac24f5b1('aco: add missing conversion operations for small bitsizes') Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5164> (cherry picked from commit5ccc7c277c)
This commit is contained in:
parent
aa7b5b52c0
commit
7ff34259f1
2 changed files with 18 additions and 1 deletions
|
|
@ -4063,7 +4063,7 @@
|
|||
"description": "aco: consider SDWA during value numbering",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "23ac24f5b1fdde73cf8ec1ef6cbe08d73d6776f5"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -86,6 +86,9 @@ struct InstrHash {
|
|||
if (instr->isDPP())
|
||||
return hash_murmur_32<DPP_instruction>(instr);
|
||||
|
||||
if (instr->isSDWA())
|
||||
return hash_murmur_32<SDWA_instruction>(instr);
|
||||
|
||||
switch (instr->format) {
|
||||
case Format::SMEM:
|
||||
return hash_murmur_32<SMEM_instruction>(instr);
|
||||
|
|
@ -199,6 +202,20 @@ struct InstrPred {
|
|||
aDPP->neg[0] == bDPP->neg[0] &&
|
||||
aDPP->neg[1] == bDPP->neg[1];
|
||||
}
|
||||
if (a->isSDWA()) {
|
||||
SDWA_instruction* aSDWA = static_cast<SDWA_instruction*>(a);
|
||||
SDWA_instruction* bSDWA = static_cast<SDWA_instruction*>(b);
|
||||
return aSDWA->sel[0] == bSDWA->sel[0] &&
|
||||
aSDWA->sel[1] == bSDWA->sel[1] &&
|
||||
aSDWA->dst_sel == bSDWA->dst_sel &&
|
||||
aSDWA->abs[0] == bSDWA->abs[0] &&
|
||||
aSDWA->abs[1] == bSDWA->abs[1] &&
|
||||
aSDWA->neg[0] == bSDWA->neg[0] &&
|
||||
aSDWA->neg[1] == bSDWA->neg[1] &&
|
||||
aSDWA->dst_preserve == bSDWA->dst_preserve &&
|
||||
aSDWA->clamp == bSDWA->clamp &&
|
||||
aSDWA->omod == bSDWA->omod;
|
||||
}
|
||||
|
||||
switch (a->format) {
|
||||
case Format::SOPK: {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue