let PrintMethod = "printHexagonImmOperand";
}
-def s8Imm : Operand<i32> {
+def s9Imm : Operand<i32> {
// For now, we use a generic print function for all operands.
let PrintMethod = "printHexagonImmOperand";
}
-def s9Imm : Operand<i32> {
+def s8Imm : Operand<i32> {
// For now, we use a generic print function for all operands.
let PrintMethod = "printHexagonImmOperand";
}
let PrintMethod = "printHexagonImmOperand";
}
+def u1Imm : Operand<i32> {
+ // For now, we use a generic print function for all operands.
+ let PrintMethod = "printHexagonImmOperand";
+}
+
def n8Imm : Operand<i32> {
// For now, we use a generic print function for all operands.
let PrintMethod = "printHexagonImmOperand";
let PrintMethod = "printHexagonImmOperand";
}
+def nOneImm : Operand<i32> {
+ // For now, we use a generic print function for all operands.
+ let PrintMethod = "printHexagonNOneImmOperand";
+}
+
//
// Immediate predicates
//
int64_t v = (int64_t)N->getSExtValue();
return (-255 <= v && v <= 0);
}]>;
+
+def nOneImmPred : PatLeaf<(i32 imm), [{
+ // nOneImmPred predicate - True if the immediate is -1.
+ int64_t v = (int64_t)N->getSExtValue();
+ return (-1 == v);
+}]>;
+