[llvm] r185349 - [PowerPC] Support "eieio" instruction

Ulrich Weigand ulrich.weigand at de.ibm.com
Mon Jul 1 10:06:26 PDT 2013


Author: uweigand
Date: Mon Jul  1 12:06:26 2013
New Revision: 185349

URL: http://llvm.org/viewvc/llvm-project?rev=185349&view=rev
Log:

[PowerPC] Support "eieio" instruction

This adds support for the "eieio" instruction to
the asm parser.


Modified:
    llvm/trunk/lib/Target/PowerPC/PPCInstrFormats.td
    llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td
    llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s

Modified: llvm/trunk/lib/Target/PowerPC/PPCInstrFormats.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstrFormats.td?rev=185349&r1=185348&r2=185349&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCInstrFormats.td (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCInstrFormats.td Mon Jul  1 12:06:26 2013
@@ -484,6 +484,12 @@ class XForm_24_sync<bits<6> opcode, bits
   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> {

Modified: llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td?rev=185349&r1=185348&r2=185349&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td Mon Jul  1 12:06:26 2013
@@ -2257,6 +2257,9 @@ def ISYNC : XLForm_2_ext<19, 150, 0, 0,
 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
 //

Modified: llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s?rev=185349&r1=185348&r2=185349&view=diff
==============================================================================
--- llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s (original)
+++ llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s Mon Jul  1 12:06:26 2013
@@ -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





More information about the llvm-commits mailing list