Skip to content

Commit

Permalink
internal/opcodesextra: fix actions for VNNI and VBMI2 shifts (#372)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
vsivsi authored Mar 7, 2023
1 parent 577048e commit fc7bbb8
Show file tree
Hide file tree
Showing 3 changed files with 342 additions and 342 deletions.
Loading

0 comments on commit fc7bbb8

Please sign in to comment.