2017-02-10 23:33:13 +08:00
|
|
|
//===--- HexagonOperands.td -----------------------------------------------===//
|
2011-12-13 05:14:40 +08:00
|
|
|
//
|
2019-01-19 16:50:56 +08:00
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2011-12-13 05:14:40 +08:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2017-02-10 23:33:13 +08:00
|
|
|
def f32ImmOperand : AsmOperandClass { let Name = "f32Imm"; }
|
|
|
|
def f32Imm : Operand<f32> { let ParserMatchClass = f32ImmOperand; }
|
|
|
|
def f64ImmOperand : AsmOperandClass { let Name = "f64Imm"; }
|
|
|
|
def f64Imm : Operand<f64> { let ParserMatchClass = f64ImmOperand; }
|
|
|
|
def s8_0Imm64Pred : PatLeaf<(i64 imm), [{ return isInt<8>(N->getSExtValue()); }]>;
|
|
|
|
def s9_0ImmOperand : AsmOperandClass { let Name = "s9_0Imm"; }
|
|
|
|
def s9_0Imm : Operand<i32> { let ParserMatchClass = s9_0ImmOperand; }
|
2017-05-03 02:19:11 +08:00
|
|
|
def s27_2ImmOperand : AsmOperandClass { let Name = "s27_2Imm"; let RenderMethod = "addSignedImmOperands"; }
|
|
|
|
def s27_2Imm : Operand<i32> { let ParserMatchClass = s27_2ImmOperand; }
|
2017-02-10 23:33:13 +08:00
|
|
|
def r32_0ImmPred : PatLeaf<(i32 imm), [{
|
2015-03-12 08:19:59 +08:00
|
|
|
int64_t v = (int64_t)N->getSExtValue();
|
|
|
|
return isInt<32>(v);
|
|
|
|
}]>;
|
2016-11-02 03:02:10 +08:00
|
|
|
def u9_0ImmPred : PatLeaf<(i32 imm), [{
|
2011-12-13 05:14:40 +08:00
|
|
|
int64_t v = (int64_t)N->getSExtValue();
|
|
|
|
return isUInt<9>(v);
|
|
|
|
}]>;
|
2017-02-10 23:33:13 +08:00
|
|
|
def u64_0ImmOperand : AsmOperandClass { let Name = "u64_0Imm"; let RenderMethod = "addImmOperands"; }
|
|
|
|
def u64_0Imm : Operand<i64> { let ParserMatchClass = u64_0ImmOperand; }
|
|
|
|
def n1ConstOperand : AsmOperandClass { let Name = "n1Const"; }
|
|
|
|
def n1Const : Operand<i32> { let ParserMatchClass = n1ConstOperand; }
|
2014-12-23 05:20:03 +08:00
|
|
|
|
2012-12-04 13:00:31 +08:00
|
|
|
def bblabel : Operand<i32>;
|
2015-11-09 12:07:48 +08:00
|
|
|
def bbl : SDNode<"ISD::BasicBlock", SDTPtrLeaf, [], "BasicBlockSDNode">;
|