From 55f925abc5901d51a6adf3ad4c5e3a80b68ba97d Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Sat, 2 Aug 2014 20:00:26 +0000 Subject: [PATCH] mfdcr / mtdcr support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214639 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCInstrInfo.td | 5 +++++ test/MC/Disassembler/PowerPC/ppc64-encoding-ext.txt | 5 +++++ test/MC/PowerPC/ppc64-encoding-ext.s | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index 0237358a141..89c7bc4c64c 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.td @@ -3123,6 +3123,11 @@ def RFCI : XForm_0<19, 51, (outs), (ins), "rfci", IIC_BrB, []>, def RFDI : XForm_0<19, 39, (outs), (ins), "rfdi", IIC_BrB, []>; def RFMCI : XForm_0<19, 38, (outs), (ins), "rfmci", IIC_BrB, []>; +def MFDCR : XFXForm_1<31, 323, (outs gprc:$RT), (ins i32imm:$SPR), + "mfdcr $RT, $SPR", IIC_SprMFSPR>; +def MTDCR : XFXForm_1<31, 451, (outs), (ins gprc:$RT, i32imm:$SPR), + "mtdcr $SPR, $RT", IIC_SprMTSPR>; + //===----------------------------------------------------------------------===// // PowerPC Assembler Instruction Aliases // diff --git a/test/MC/Disassembler/PowerPC/ppc64-encoding-ext.txt b/test/MC/Disassembler/PowerPC/ppc64-encoding-ext.txt index b55ebce81a2..6a995d8f84f 100644 --- a/test/MC/Disassembler/PowerPC/ppc64-encoding-ext.txt +++ b/test/MC/Disassembler/PowerPC/ppc64-encoding-ext.txt @@ -2268,3 +2268,8 @@ 0x7c 0x6c 0x5a 0xec # CHECK: dststt 12, 11, 3 0x7e 0x6c 0x5a 0xec + +# CHECK: mfdcr 3, 178 +0x7c 0x72 0x2a 0x86 +# CHECK: mtdcr 178, 3 +0x7c 0x72 0x2b 0x86 diff --git a/test/MC/PowerPC/ppc64-encoding-ext.s b/test/MC/PowerPC/ppc64-encoding-ext.s index 2e9316f848f..7288df81eea 100644 --- a/test/MC/PowerPC/ppc64-encoding-ext.s +++ b/test/MC/PowerPC/ppc64-encoding-ext.s @@ -3613,3 +3613,11 @@ # CHECK-BE: dststt 12, 11, 3 # encoding: [0x7e,0x6c,0x5a,0xec] # CHECK-LE: dststt 12, 11, 3 # encoding: [0xec,0x5a,0x6c,0x7e] dststt %r12, %r11, 3 + +# PPC 403 support +# CHECK-BE: mfdcr 3, 178 # encoding: [0x7c,0x72,0x2a,0x86] +# CHECK-LE: mfdcr 3, 178 # encoding: [0x86,0x2a,0x72,0x7c] + mfdcr 3,178 +# CHECK-BE: mtdcr 178, 3 # encoding: [0x7c,0x72,0x2b,0x86] +# CHECK-LE: mtdcr 178, 3 # encoding: [0x86,0x2b,0x72,0x7c] + mtdcr 178,3