// Common target boilerplate for GlobalISelEmitter tests. def MyTargetISA : InstrInfo; def MyTarget : Target { let InstructionSet = MyTargetISA; } class MyTargetGenericInstruction : GenericInstruction { let Namespace = "MyTarget"; } def R0 : Register<"r0"> { let Namespace = "MyTarget"; } def GPR32 : RegisterClass<"MyTarget", [i32], 32, (add R0)>; def GPR32Op : RegisterOperand<GPR32>; def F0 : Register<"f0"> { let Namespace = "MyTarget"; } def FPR32 : RegisterClass<"MyTarget", [f32], 32, (add F0)>; def FPR32Op : RegisterOperand<FPR32>; def B0 : Register<"b0"> { let Namespace = "MyTarget"; } def GPR8 : RegisterClass<"MyTarget", [i8], 8, (add B0)>; def GPR8Op : RegisterOperand<GPR8>; def V0 : Register<"v0"> { let Namespace = "MyTarget"; } def VecReg128 : RegisterClass<"MyTarget", [v4i32], 128, (add V0)>; def p0 : PtrValueType <i32, 0>; class I<dag OOps, dag IOps, list<dag> Pat> : Instruction { let Namespace = "MyTarget"; let OutOperandList = OOps; let InOperandList = IOps; let Pattern = Pat; }