[PowerPC] Add the 'attn' instruction

The attn instruction is not part of the Power ISA, but is documented in the A2
user manual, and is accepted by the GNU assembler for the A2 and the POWER4+.
Reported as part of PR21650.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222712 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hal Finkel 2014-11-25 00:30:11 +00:00
parent 5d6f185653
commit b932ed3c3d
4 changed files with 18 additions and 0 deletions

View File

@ -385,6 +385,12 @@ class XForm_tlb<bits<10> xo, dag OOL, dag IOL, string asmstr,
let RST = 0;
}
class XForm_attn<bits<6> opcode, bits<10> xo, dag OOL, dag IOL, string asmstr,
InstrItinClass itin>
: I<opcode, OOL, IOL, asmstr, itin> {
let Inst{21-30} = xo;
}
// This is the same as XForm_base_r3xo, but the first two operands are swapped
// when code is emitted.
class XForm_base_r3xo_swapped

View File

@ -3232,6 +3232,8 @@ def MFDCR : XFXForm_1<31, 323, (outs gprc:$RT), (ins i32imm:$SPR),
def MTDCR : XFXForm_1<31, 451, (outs), (ins gprc:$RT, i32imm:$SPR),
"mtdcr $SPR, $RT", IIC_SprMTSPR>, Requires<[IsPPC4xx]>;
def ATTN : XForm_attn<0, 256, (outs), (ins), "attn", IIC_BrB>;
//===----------------------------------------------------------------------===//
// PowerPC Assembler Instruction Aliases
//

View File

@ -2274,3 +2274,7 @@
# CHECK: rfid
0x4c 0x00 0x00 0x24
# CHECK: attn
0x00 0x00 0x02 0x00

View File

@ -3633,3 +3633,9 @@
# CHECK-BE: mtspr 280, 2 # encoding: [0x7c,0x58,0x43,0xa6]
# CHECK-LE: mtspr 280, 2 # encoding: [0xa6,0x43,0x58,0x7c]
mtasr 2
# Processor-Specific Instructions
# CHECK-BE: attn # encoding: [0x00,0x00,0x02,0x00]
# CHECK-LE: attn # encoding: [0x00,0x02,0x00,0x00]
attn