diff options
| author | Momchil Velikov <momchil.velikov@arm.com> | 2019-11-18 18:03:41 +0000 |
|---|---|---|
| committer | Momchil Velikov <momchil.velikov@arm.com> | 2019-11-25 18:26:12 +0000 |
| commit | 09555ce07176d279e8ba8bdb74bb8dbff0a3cb82 (patch) | |
| tree | 9bed2d43eb28a608ea29fd70dda688cf8b4bbbde /llvm/lib/Target/ARM | |
| parent | a7d3f6933ddbbd1c0b20529a0734ed66f98d75a0 (diff) | |
| download | bcm5719-llvm-09555ce07176d279e8ba8bdb74bb8dbff0a3cb82.tar.gz bcm5719-llvm-09555ce07176d279e8ba8bdb74bb8dbff0a3cb82.zip | |
[ARM] Generate CMSE instructions from CMSE intrinsics
This patch adds instruction selection patterns for the TT, TTT, TTA, and TTAT
instructions and tests for llvm.arm.cmse.tt, llvm.arm.cmse.ttt,
llvm.arm.cmse.tta, and llvm.arm.cmse.ttat intrinsics (added in a previous
patch).
Patch by Javed Absar.
Differential Revision: https://reviews.llvm.org/D70407
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrThumb2.td | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td index 25a45b39fa0..7044c92a7f1 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb2.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td @@ -4551,10 +4551,18 @@ class T2TT<bits<2> at, string asm, list<dag> pattern> let Unpredictable{5-0} = 0b111111; } -def t2TT : T2TT<0b00, "tt", []>, Requires<[IsThumb,Has8MSecExt]>; -def t2TTT : T2TT<0b01, "ttt", []>, Requires<[IsThumb,Has8MSecExt]>; -def t2TTA : T2TT<0b10, "tta", []>, Requires<[IsThumb,Has8MSecExt]>; -def t2TTAT : T2TT<0b11, "ttat", []>, Requires<[IsThumb,Has8MSecExt]>; +def t2TT : T2TT<0b00, "tt", + [(set rGPR:$Rt, (int_arm_cmse_tt GPRnopc:$Rn))]>, + Requires<[IsThumb, Has8MSecExt]>; +def t2TTT : T2TT<0b01, "ttt", + [(set rGPR:$Rt, (int_arm_cmse_ttt GPRnopc:$Rn))]>, + Requires<[IsThumb, Has8MSecExt]>; +def t2TTA : T2TT<0b10, "tta", + [(set rGPR:$Rt, (int_arm_cmse_tta GPRnopc:$Rn))]>, + Requires<[IsThumb, Has8MSecExt]>; +def t2TTAT : T2TT<0b11, "ttat", + [(set rGPR:$Rt, (int_arm_cmse_ttat GPRnopc:$Rn))]>, + Requires<[IsThumb, Has8MSecExt]>; //===----------------------------------------------------------------------===// // Non-Instruction Patterns |

