[PATCH] R600/SI: Eliminate a few patterns that use INSERT_SUBREG and EXTRACT_SUBREG

Tom Stellard tom at stellard.net
Fri Mar 21 14:01:55 PDT 2014


Hi,

Here are a few patches that clean up some instruction selection
patterns and reduce our reliance on target opcodes like INSERT_SUBREG
and EXTRACT_SUBREG.  Since ISel forces us to assign only one register
class for each type, we don't always get the register class we want with
these instructions and they can cause the backend to produce unsupported
cross register class copies.

Please Review.

-Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-SI-Lower-i64-SELECT-by-bitcasting-to-a-vector-t.patch
Type: text/x-diff
Size: 3361 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140321/f481b3de/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-R600-SI-Implement-SIInstrInfo-isTriviallyRemateriali.patch
Type: text/x-diff
Size: 1753 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140321/f481b3de/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-R600-SI-Use-SReg_64-instead-of-VSrc_64-when-selectin.patch
Type: text/x-diff
Size: 3466 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140321/f481b3de/attachment-0002.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-R600-SI-Lower-64-bit-immediates-using-REG_SEQUENCE.patch
Type: text/x-diff
Size: 5963 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140321/f481b3de/attachment-0003.patch>


More information about the llvm-commits mailing list