[X86] Add getPack helper
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 14 Nov 2021 21:27:15 +0000 (21:27 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 14 Nov 2021 21:27:15 +0000 (21:27 +0000)
commitc3a772fdf51b3bde8def94610eeae6f0978dd77f
tree6eb74ae71fbca8a09370b357a0eb67cc476cf319
parent4081df43b6dcf712888d770e5988084b773864c6
[X86] Add getPack helper

This helper provides a more complete approach for lowering to X86ISD::PACKSS/PACKUS nodes - testing for existing suitable sign/zero extension before recreating it.

It also optionally packs the upper half instead of the lower half.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-fshl-128.ll
llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
llvm/test/CodeGen/X86/vector-fshr-128.ll
llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
llvm/test/CodeGen/X86/vector-rotate-128.ll
llvm/test/CodeGen/X86/vector-shift-shl-128.ll
llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll