summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2013-07-01 17:21:23 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2013-07-01 17:21:23 +0000
commit7a9fcdf6fb84b4d8db49eb0a8488b81155bffb2a (patch)
tree136cc1521cfcb9a5e6b54f8eaa85662cffd56e83 /llvm/lib/Target
parent98fcc7b6bcbd7f27492003cdb8225fc9c196f63c (diff)
downloadbcm5719-llvm-7a9fcdf6fb84b4d8db49eb0a8488b81155bffb2a.tar.gz
bcm5719-llvm-7a9fcdf6fb84b4d8db49eb0a8488b81155bffb2a.zip
[PowerPC] Add "wait" instruction
This adds the "wait" instruction and its extended mnemonics. llvm-svn: 185350
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.td7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.td b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
index fc925e11e81..5c2c59f21be 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
@@ -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)>;
OpenPOWER on IntegriCloud