[PowerPC] Add "wait" instruction

This adds the "wait" instruction and its extended mnemonics.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185350 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ulrich Weigand 2013-07-01 17:21:23 +00:00
parent c0a6b981de
commit 62c1baf8b5
2 changed files with 15 additions and 4 deletions

View File

@ -2260,6 +2260,9 @@ def ICBI : XForm_1a<31, 982, (outs), (ins memrr:$src),
def EIEIO : XForm_24_eieio<31, 854, (outs), (ins),
"eieio", LdStLoad, []>;
def WAIT : XForm_24_sync<31, 62, (outs), (ins i32imm:$L),
"wait $L", LdStLoad, []>;
//===----------------------------------------------------------------------===//
// PowerPC Assembler Instruction Aliases
//
@ -2286,6 +2289,10 @@ def : InstAlias<"sync", (SYNC 0)>;
def : InstAlias<"lwsync", (SYNC 1)>;
def : InstAlias<"ptesync", (SYNC 2)>;
def : InstAlias<"wait", (WAIT 0)>;
def : InstAlias<"waitrsv", (WAIT 1)>;
def : InstAlias<"waitimpl", (WAIT 2)>;
def : InstAlias<"xnop", (XORI R0, R0, 0)>;
def : InstAlias<"mr $rA, $rB", (OR8 g8rc:$rA, g8rc:$rB, g8rc:$rB)>;

View File

@ -39,7 +39,8 @@
sync 2
# CHECK: eieio # encoding: [0x7c,0x00,0x06,0xac]
eieio
# FIXME: wait 2
# CHECK: wait 2 # encoding: [0x7c,0x40,0x00,0x7c]
wait 2
# Extended mnemonics
@ -61,7 +62,10 @@
# CHECK: sync 2 # encoding: [0x7c,0x40,0x04,0xac]
ptesync
# FIXME: wait
# FIXME: waitrsv
# FIXME: waitimpl
# CHECK: wait 0 # encoding: [0x7c,0x00,0x00,0x7c]
wait
# CHECK: wait 1 # encoding: [0x7c,0x20,0x00,0x7c]
waitrsv
# CHECK: wait 2 # encoding: [0x7c,0x40,0x00,0x7c]
waitimpl