diff options
author | Jim Grosbach <grosbach@apple.com> | 2014-06-16 21:55:35 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2014-06-16 21:55:35 +0000 |
commit | 44d2cdcbf35d97b558198efa0861e0d289a657e6 (patch) | |
tree | 22d34b7dd85a1b6b818372a4a6ccf5d56d67e954 /lib/Target/AArch64 | |
parent | 5c1a1b2249dce9c6d9c28bd68bb82801ea04c6a5 (diff) | |
download | llvm-44d2cdcbf35d97b558198efa0861e0d289a657e6.tar.gz llvm-44d2cdcbf35d97b558198efa0861e0d289a657e6.tar.bz2 llvm-44d2cdcbf35d97b558198efa0861e0d289a657e6.tar.xz |
AArch64: Add backend intrinsic for rbit.
Define an intrinsic for the frontend to use and pattern match it to
the RBIT instruction.
rdar://9283021
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211058 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64')
-rw-r--r-- | lib/Target/AArch64/AArch64InstrInfo.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64InstrInfo.td b/lib/Target/AArch64/AArch64InstrInfo.td index 9ad36e8740..b1e8fa64c2 100644 --- a/lib/Target/AArch64/AArch64InstrInfo.td +++ b/lib/Target/AArch64/AArch64InstrInfo.td @@ -737,6 +737,10 @@ def : Pat<(not GPR64:$Xm), (ORNXrr XZR, GPR64:$Xm)>; defm CLS : OneOperandData<0b101, "cls">; defm CLZ : OneOperandData<0b100, "clz", ctlz>; defm RBIT : OneOperandData<0b000, "rbit">; + +def : Pat<(int_aarch64_rbit GPR32:$Rn), (RBITWr $Rn)>; +def : Pat<(int_aarch64_rbit GPR64:$Rn), (RBITXr $Rn)>; + def REV16Wr : OneWRegData<0b001, "rev16", UnOpFrag<(rotr (bswap node:$LHS), (i64 16))>>; def REV16Xr : OneXRegData<0b001, "rev16", null_frag>; |