R600/SI: Teach SIFoldOperands to split 64-bit constants when folding
authorTom Stellard <thomas.stellard@amd.com>
Wed, 7 Jan 2015 19:56:17 +0000 (19:56 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 7 Jan 2015 19:56:17 +0000 (19:56 +0000)
commitef3b864a07b998a449673cc8a46b5a418f775903
tree1482731b775a75512e4429f7c1ed787e125f5928
parente64ad7cedd2e7dbd9505795f03c5383cb84a0d69
R600/SI: Teach SIFoldOperands to split 64-bit constants when folding

This allows folding of sequences like:

s[0:1] = s_mov_b64 4
v_add_i32 v0, s0, v0
v_addc_u32 v1, s1, v1

into

v_add_i32 v0, 4, v0
v_add_i32 v1, 0, v1

llvm-svn: 225369
llvm/lib/Target/R600/SIFoldOperands.cpp
llvm/lib/Target/R600/SIInstrInfo.cpp
llvm/lib/Target/R600/SIInstrInfo.h
llvm/test/CodeGen/R600/operand-folding.ll
llvm/test/CodeGen/R600/sint_to_fp.f64.ll
llvm/test/CodeGen/R600/uint_to_fp.f64.ll