// in the target machine. String n will become the "name" of the register.
class Register<string n> {
string Namespace = "";
+ string AsmName = n;
string Name = n;
// SpillSize - If this value is set to a non-zero value, it is the size in
def i32imm : Operand<i32>;
def i64imm : Operand<i64>;
+def f32imm : Operand<f32>;
+def f64imm : Operand<f64>;
+
/// zero_reg definition - Special node to stand for the zero register.
///
def zero_reg;
}
def LABEL : Instruction {
let OutOperandList = (ops);
- let InOperandList = (ops i32imm:$id);
+ let InOperandList = (ops i32imm:$id, i32imm:$flavor);
+ let AsmString = "";
+ let Namespace = "TargetInstrInfo";
+ let hasCtrlDep = 1;
+}
+def DECLARE : Instruction {
+ let OutOperandList = (ops);
+ let InOperandList = (ops variable_ops);
let AsmString = "";
let Namespace = "TargetInstrInfo";
let hasCtrlDep = 1;
}
def EXTRACT_SUBREG : Instruction {
- let OutOperandList = (ops variable_ops);
+ let OutOperandList = (ops variable_ops);
let InOperandList = (ops variable_ops);
let AsmString = "";
let Namespace = "TargetInstrInfo";