[PowerPC] Support "eieio" instruction
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Mon, 1 Jul 2013 17:06:26 +0000 (17:06 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Mon, 1 Jul 2013 17:06:26 +0000 (17:06 +0000)
This adds support for the "eieio" instruction to
the asm parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185349 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCInstrFormats.td
lib/Target/PowerPC/PPCInstrInfo.td
test/MC/PowerPC/ppc64-encoding-bookII.s

index 9f5435e17a3d4022b114043760e0c766a8ada1df..42adc02595c83e298712a7f6c650300f6e9efcf3 100644 (file)
@@ -484,6 +484,12 @@ class XForm_24_sync<bits<6> opcode, bits<10> xo, dag OOL, dag IOL,
   let Inst{31}    = 0;
 }
 
+class XForm_24_eieio<bits<6> opcode, bits<10> xo, dag OOL, dag IOL,
+               string asmstr, InstrItinClass itin, list<dag> pattern> 
+  : XForm_24_sync<opcode, xo, OOL, IOL, asmstr, itin, pattern> {
+  let L = 0;
+}
+
 class XForm_25<bits<6> opcode, bits<10> xo, dag OOL, dag IOL, string asmstr,
                InstrItinClass itin, list<dag> pattern> 
   : XForm_base_r3xo<opcode, xo, OOL, IOL, asmstr, itin, pattern> {
index d05bd0d5b9ea4d004e1c0744eefa46f815e22003..fc925e11e81f9d9f36af1c638713b43739448ae9 100644 (file)
@@ -2257,6 +2257,9 @@ def ISYNC : XLForm_2_ext<19, 150, 0, 0, 0, (outs), (ins),
 def ICBI : XForm_1a<31, 982, (outs), (ins memrr:$src),
                     "icbi $src", LdStICBI, []>;
 
+def EIEIO : XForm_24_eieio<31, 854, (outs), (ins),
+                           "eieio", LdStLoad, []>;
+
 //===----------------------------------------------------------------------===//
 // PowerPC Assembler Instruction Aliases
 //
index 999505b49a3ebcd398064a1a2cca4105f86aeb0f..d066003cfb2cb74bc7f578483b0155c61e5f64c2 100644 (file)
@@ -37,7 +37,8 @@
 
 # CHECK: sync 2                          # encoding: [0x7c,0x40,0x04,0xac]
          sync 2
-# FIXME: eieio
+# CHECK: eieio                           # encoding: [0x7c,0x00,0x06,0xac]
+         eieio
 # FIXME: wait 2
 
 # Extended mnemonics