AMDGPU: Invert cmp + select with constant
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 22 Dec 2016 21:40:08 +0000 (21:40 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 22 Dec 2016 21:40:08 +0000 (21:40 +0000)
commit0b26e47345e48335c2c7e390fbb3b409b9f0285a
tree22c5fec0d55f3bb670763d1240b2e08436040e45
parent055f506c5465a671f10eec465869105662e6f5c0
AMDGPU: Invert cmp + select with constant

Canonicalize a select with a constant to the false side. This
enables more instruction shrinking opportunities since an
inline immediate can be used for the false side of v_cndmask_b32_e32.

This seems to usually be better but causes some code size regressions
in some tests.

llvm-svn: 290372
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/test/CodeGen/AMDGPU/ctlz.ll
llvm/test/CodeGen/AMDGPU/select.f16.ll
llvm/test/CodeGen/AMDGPU/v_cndmask.ll