diff options
author | Petar Avramovic <Petar.Avramovic@rt-rk.com> | 2019-12-30 11:26:45 +0100 |
---|---|---|
committer | Petar Avramovic <Petar.Avramovic@rt-rk.com> | 2019-12-30 11:26:45 +0100 |
commit | dbc136e0fe7e14c64dcb78e72321bb41af60afa4 (patch) | |
tree | d45452755ac0733c9411611617b10d7e3aaa7854 /llvm/lib/Target | |
parent | 94a24e7a401be7a3db0ddfa2035855b75c8cc55d (diff) | |
download | bcm5719-llvm-dbc136e0fe7e14c64dcb78e72321bb41af60afa4.tar.gz bcm5719-llvm-dbc136e0fe7e14c64dcb78e72321bb41af60afa4.zip |
[MIPS GlobalISel] Select bitreverse
G_BITREVERSE is generated from llvm.bitreverse.<type> intrinsics,
clang genrates these intrinsics from __builtin_bitreverse32 and
__builtin_bitreverse64.
Add lower and narrowscalar for G_BITREVERSE.
Lower G_BITREVERSE on MIPS32.
Differential Revision: https://reviews.llvm.org/D71363
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp index 51ad1e2de3a..39e53a75ac7 100644 --- a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp +++ b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp @@ -198,6 +198,10 @@ MipsLegalizerInfo::MipsLegalizerInfo(const MipsSubtarget &ST) { }) .maxScalar(0, s32); + getActionDefinitionsBuilder(G_BITREVERSE) + .lowerFor({s32}) + .maxScalar(0, s32); + // FP instructions getActionDefinitionsBuilder(G_FCONSTANT) .legalFor({s32, s64}); |