diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-02 14:56:45 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-02 14:56:45 +0000 |
commit | 9188443a2d35352c4e8a2cffd1b4d31d47843b26 (patch) | |
tree | 980fdaf6bdacd1e193a723d27be6d21a03eddc4e /lib/Target/SystemZ/SystemZInstrFormats.td | |
parent | 850ba41ed4252aae61e62140cdf0c61dbb444563 (diff) | |
download | external_llvm-9188443a2d35352c4e8a2cffd1b4d31d47843b26.zip external_llvm-9188443a2d35352c4e8a2cffd1b4d31d47843b26.tar.gz external_llvm-9188443a2d35352c4e8a2cffd1b4d31d47843b26.tar.bz2 |
[SystemZ] Add the MVC instruction
This is the first use of D(L,B) addressing, which required a fair bit
of surgery. For that reason, the patch just adds the instruction
definition and the associated assembler and disassembler support.
A later patch will actually make use of it for codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185433 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrFormats.td')
-rw-r--r-- | lib/Target/SystemZ/SystemZInstrFormats.td | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td index ac0300c..58110ec 100644 --- a/lib/Target/SystemZ/SystemZInstrFormats.td +++ b/lib/Target/SystemZ/SystemZInstrFormats.td @@ -383,6 +383,19 @@ class InstSIY<bits<16> op, dag outs, dag ins, string asmstr, list<dag> pattern> let Has20BitOffset = 1; } +class InstSS<bits<8> op, dag outs, dag ins, string asmstr, list<dag> pattern> + : InstSystemZ<6, outs, ins, asmstr, pattern> { + field bits<48> Inst; + field bits<48> SoftFail = 0; + + bits<24> BDL1; + bits<16> BD2; + + let Inst{47-40} = op; + let Inst{39-16} = BDL1; + let Inst{15-0} = BD2; +} + //===----------------------------------------------------------------------===// // Instruction definitions with semantics //===----------------------------------------------------------------------===// |