From: Tim Northover Date: Tue, 14 Jul 2015 17:07:29 +0000 (+0000) Subject: AArch64: add rev64 alias for 64-bit rev instruction. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=93398438ffca0d62995d2cb50963ac5fba810eda;p=oota-llvm.git AArch64: add rev64 alias for 64-bit rev instruction. It could be useful to assembly programmers and makes the permitted variants a little more uniform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242164 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AArch64/AArch64InstrInfo.td b/lib/Target/AArch64/AArch64InstrInfo.td index 6d4cb2deebd..fa1a46acba8 100644 --- a/lib/Target/AArch64/AArch64InstrInfo.td +++ b/lib/Target/AArch64/AArch64InstrInfo.td @@ -894,6 +894,8 @@ def REVXr : OneXRegData<0b011, "rev", bswap>; def REV32Xr : OneXRegData<0b010, "rev32", UnOpFrag<(rotr (bswap node:$LHS), (i64 32))>>; +def : InstAlias<"rev64 $Rd, $Rn", (REVXr GPR64:$Rd, GPR64:$Rn), 0>; + // The bswap commutes with the rotr so we want a pattern for both possible // orders. def : Pat<(bswap (rotr GPR32:$Rn, (i64 16))), (REV16Wr GPR32:$Rn)>; diff --git a/test/MC/AArch64/basic-a64-instructions.s b/test/MC/AArch64/basic-a64-instructions.s index 5d33a4f933b..f8e49432145 100644 --- a/test/MC/AArch64/basic-a64-instructions.s +++ b/test/MC/AArch64/basic-a64-instructions.s @@ -1489,6 +1489,9 @@ _func: // CHECK: clz w24, wzr // encoding: [0xf8,0x13,0xc0,0x5a] // CHECK: rev x22, xzr // encoding: [0xf6,0x0f,0xc0,0xda] + rev64 x13, x12 +// CHECK: rev x13, x12 // encoding: [0x8d,0x0d,0xc0,0xda] + //------------------------------------------------------------------------------ // Data-processing (2 source) //------------------------------------------------------------------------------