aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBlockPlacement.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2024-07-24 16:02:22 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2024-07-24 16:02:33 +0100
commitfbd303ba5dd98d4513d62058bc1ad463507464ce (patch)
tree686856eec0293f6216a85922fcefb9c63dae2c7a /llvm/lib/CodeGen/MachineBlockPlacement.cpp
parent9f08ae8d2dd1ff9ec3b033d099282dee05528413 (diff)
downloadllvm-fbd303ba5dd98d4513d62058bc1ad463507464ce.zip
llvm-fbd303ba5dd98d4513d62058bc1ad463507464ce.tar.gz
llvm-fbd303ba5dd98d4513d62058bc1ad463507464ce.tar.bz2
[DAG] combineAndnp - fold ANDNP(x,PSHUFB(y,z)) -> PSHUFB(y,OR(z,x))
Based off #96754 - if we are zeroing out whole elements, then fold into the PSHUFB mask instead (if MSB is set the element is zero). Allows us to replace the non-commutative ANDNP with a much simpler OR node. Move this after ANDNP shuffle combining as that can do a better job of this for constant ANDNP + PSHUFB masks.
Diffstat (limited to 'llvm/lib/CodeGen/MachineBlockPlacement.cpp')
0 files changed, 0 insertions, 0 deletions