diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2013-07-01 17:06:26 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2013-07-01 17:06:26 +0000 |
commit | 98fcc7b6bcbd7f27492003cdb8225fc9c196f63c (patch) | |
tree | 102a9ea53eb8e6209a724cc9b4a049c4607dce52 | |
parent | fd62bb9d3e440d781620b6eedd7c41d3a164be29 (diff) | |
download | bcm5719-llvm-98fcc7b6bcbd7f27492003cdb8225fc9c196f63c.tar.gz bcm5719-llvm-98fcc7b6bcbd7f27492003cdb8225fc9c196f63c.zip |
[PowerPC] Support "eieio" instruction
This adds support for the "eieio" instruction to
the asm parser.
llvm-svn: 185349
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCInstrFormats.td | 6 | ||||
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCInstrInfo.td | 3 | ||||
-rw-r--r-- | llvm/test/MC/PowerPC/ppc64-encoding-bookII.s | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstrFormats.td b/llvm/lib/Target/PowerPC/PPCInstrFormats.td index 9f5435e17a3..42adc02595c 100644 --- a/llvm/lib/Target/PowerPC/PPCInstrFormats.td +++ b/llvm/lib/Target/PowerPC/PPCInstrFormats.td @@ -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> { diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.td b/llvm/lib/Target/PowerPC/PPCInstrInfo.td index d05bd0d5b9e..fc925e11e81 100644 --- a/llvm/lib/Target/PowerPC/PPCInstrInfo.td +++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.td @@ -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 // diff --git a/llvm/test/MC/PowerPC/ppc64-encoding-bookII.s b/llvm/test/MC/PowerPC/ppc64-encoding-bookII.s index 999505b49a3..d066003cfb2 100644 --- a/llvm/test/MC/PowerPC/ppc64-encoding-bookII.s +++ b/llvm/test/MC/PowerPC/ppc64-encoding-bookII.s @@ -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 |