diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-05-29 11:58:52 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-05-29 11:58:52 +0000 |
commit | 2d664abbfca8b9fa3d99e8a2f74bd52faf007f12 (patch) | |
tree | ef3e64c5251a4118e32a0393799793277d7259f4 /lib/Target/SystemZ/SystemZInstrFormats.td | |
parent | b8303eb654c1ba1833cfd048ed1f01309b19afe2 (diff) | |
download | external_llvm-2d664abbfca8b9fa3d99e8a2f74bd52faf007f12.zip external_llvm-2d664abbfca8b9fa3d99e8a2f74bd52faf007f12.tar.gz external_llvm-2d664abbfca8b9fa3d99e8a2f74bd52faf007f12.tar.bz2 |
[SystemZ] Immediate compare-and-branch support
This patch adds support for the CIJ and CGIJ instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182846 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrFormats.td')
-rw-r--r-- | lib/Target/SystemZ/SystemZInstrFormats.td | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td index c52e2a2..ad050fd 100644 --- a/lib/Target/SystemZ/SystemZInstrFormats.td +++ b/lib/Target/SystemZ/SystemZInstrFormats.td @@ -129,6 +129,24 @@ class InstRIEb<bits<16> op, dag outs, dag ins, string asmstr, list<dag> pattern> let Inst{7-0} = op{7-0}; } +class InstRIEc<bits<16> 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<4> R1; + bits<8> I2; + bits<4> M3; + bits<16> RI4; + + let Inst{47-40} = op{15-8}; + let Inst{39-36} = R1; + let Inst{35-32} = M3; + let Inst{31-16} = RI4; + let Inst{15-8} = I2; + let Inst{7-0} = op{7-0}; +} + class InstRIEf<bits<16> op, dag outs, dag ins, string asmstr, list<dag> pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; |