diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-19 16:24:22 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-19 16:24:22 +0000 |
commit | 52b2774577e07fbf804e4d647119578df4111f21 (patch) | |
tree | a1a4f6c458b0fbbd323da189fc0bb8fcfecea4f2 /lib/Target/SystemZ/SystemZInstrFormats.td | |
parent | ebd21b30eb833a6942c4e82f890989a2462ab74f (diff) | |
download | external_llvm-52b2774577e07fbf804e4d647119578df4111f21.zip external_llvm-52b2774577e07fbf804e4d647119578df4111f21.tar.gz external_llvm-52b2774577e07fbf804e4d647119578df4111f21.tar.bz2 |
[SystemZ] Add NGRK, OGRK and XGRK
Like r186683, but for 64 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186685 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrFormats.td')
-rw-r--r-- | lib/Target/SystemZ/SystemZInstrFormats.td | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td index 24f86bc..f099975 100644 --- a/lib/Target/SystemZ/SystemZInstrFormats.td +++ b/lib/Target/SystemZ/SystemZInstrFormats.td @@ -747,6 +747,18 @@ multiclass BinaryRRAndK<string mnemonic, bits<8> opcode1, bits<16> opcode2, } } +multiclass BinaryRREAndK<string mnemonic, bits<16> opcode1, bits<16> opcode2, + SDPatternOperator operator, RegisterOperand cls1, + RegisterOperand cls2> { + let NumOpsKey = mnemonic in { + let NumOpsValue = "3" in + def K : BinaryRRFK<mnemonic, opcode2, null_frag, cls1, cls2>, + Requires<[FeatureDistinctOps]>; + let NumOpsValue = "2", isConvertibleToThreeAddress = 1 in + def "" : BinaryRRE<mnemonic, opcode1, operator, cls1, cls2>; + } +} + class BinaryRI<string mnemonic, bits<12> opcode, SDPatternOperator operator, RegisterOperand cls, Immediate imm> : InstRI<opcode, (outs cls:$R1), (ins cls:$R1src, imm:$I2), |