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)
commit546520a72757cf8a7f2f0728170fe16c0b1efd5d
tree67f80226ad90f8e47ad9002e70188f30d9dad415
parentbc2572cac5d88b92c23de4911144871f2d3c4f6e
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225369 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/R600/SIFoldOperands.cpp
lib/Target/R600/SIInstrInfo.cpp
lib/Target/R600/SIInstrInfo.h
test/CodeGen/R600/operand-folding.ll
test/CodeGen/R600/sint_to_fp.f64.ll
test/CodeGen/R600/uint_to_fp.f64.ll