internal/opcodesextra: fix actions for VNNI and VBMI2 shifts (#372)

Fix the destination register actions for VNNI and VBMI2 concatenate and
variable shift instructions `VPSH{L,R}DV{W,D,Q}`. In the case of mask merging,
the action should be `RW` not `W`.

Prior to this change, the bug manifests as incorrect vector register
scheduling when `avo` doesn't recognize that these instructions have a data
dependency on the destination register.

See:
https://www.felixcloutier.com/x86/vpdpbusd
https://www.felixcloutier.com/x86/vpdpbusds
https://www.felixcloutier.com/x86/vpshldv
https://www.felixcloutier.com/x86/vpshrdv
This commit is contained in:
Vaughn Iverson
2023-03-06 22:52:03 -08:00
committed by GitHub
parent 577048e7d7
commit fc7bbb86e5
3 changed files with 342 additions and 342 deletions

File diff suppressed because it is too large Load Diff