diff options
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h')
-rw-r--r-- | llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h b/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h index 6293a2462306..74cd2e681ded 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h @@ -393,9 +393,21 @@ namespace ARMII { // in an IT block). ThumbArithFlagSetting = 1 << 19, - // Whether an instruction can be included in an MVE tail-predicated loop. + // Whether an instruction can be included in an MVE tail-predicated loop, + // though extra validity checks may need to be performed too. ValidForTailPredication = 1 << 20, + // Whether an instruction writes to the top/bottom half of a vector element + // and leaves the other half untouched. + RetainsPreviousHalfElement = 1 << 21, + + // Whether the instruction produces a scalar result from vector operands. + HorizontalReduction = 1 << 22, + + // Whether this instruction produces a vector result that is larger than + // its input, typically reading from the top/bottom halves of the input(s). + DoubleWidthResult = 1 << 23, + //===------------------------------------------------------------------===// // Code domain. DomainShift = 15, |