AMDGPU: Stop wasting argument registers with v3i32/v3f32
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 28 Jul 2018 14:11:34 +0000 (14:11 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 28 Jul 2018 14:11:34 +0000 (14:11 +0000)
commit8f9dde94b7f04df8332d459cd9e3b8f6a3c7f816
treee767bfcb61e447691f96ac7f2c6ed9c99b3c9853
parent3878bf83ddf7d83b446ab79dc30158fc50465c54
AMDGPU: Stop wasting argument registers with v3i32/v3f32

SelectionDAGBuilder widens v3i32/v3f32 arguments to
to v4i32/v4f32 which consume an additional register.
In addition to wasting argument space, this produces extra
instructions since now it appears the 4th vector component has
a meaningful value to most combines.

llvm-svn: 338197
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.h
llvm/test/CodeGen/AMDGPU/call-argument-types.ll
llvm/test/CodeGen/AMDGPU/fmaxnum.ll
llvm/test/CodeGen/AMDGPU/fminnum.ll
llvm/test/CodeGen/AMDGPU/function-args.ll
llvm/test/CodeGen/AMDGPU/function-returns.ll