summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC/uint-to-fp-v4i32.ll
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2019-08-29 21:53:58 +0000
committerJessica Paquette <jpaquette@apple.com>2019-08-29 21:53:58 +0000
commit04e657be2875f981811e5df4d294a06f7190422d (patch)
tree9c7047a7967f7cdb0db87a1055fc24608fba5a1f /llvm/test/CodeGen/PowerPC/uint-to-fp-v4i32.ll
parent5b79e603d3b7a29940df6580d6f62b0e9bd339c0 (diff)
downloadbcm5719-llvm-04e657be2875f981811e5df4d294a06f7190422d.tar.gz
bcm5719-llvm-04e657be2875f981811e5df4d294a06f7190422d.zip
[AArch64][GlobalISel] Select arithmetic extended register patterns
This teaches GISel to select patterns which fold an extend plus optional shift into the addressing mode. In particular, adds and subs. Factor out the arith extended register ComplexPatterns in AArch64InstrFormats.td and create GISel equivalents. Add some equivalent functions to the ones in AArch64ISelDAGToDAG: - `selectArithExtendedRegister` - `narrowExtendRegIfNeeded` - `getExtendTypeForInst` `getExtendTypeForInst` includes the checks for loads and stores. This will be used for WRO addressing modes in loads + stores. Teach selectCopy to properly handle subregister copies on the same bank in order to support `narrowExtendRegIfNeeded`. The extended register must be a GPR32, so we need to support same-bank subregister copies. Fix a bug in getSubRegForClass which would cause registers on things like GPR32common to end up getting ssub. Just change the check to look for FPR32 rather than GPR32. For tests: - Add select-arith-extended-reg.mir - Update addsub_ext.ll to include GlobalISel checks Differential Revision: https://reviews.llvm.org/D66835 llvm-svn: 370410
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/uint-to-fp-v4i32.ll')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud