1// Common target boilerplate for GlobalISelEmitter tests. 2def MyTargetISA : InstrInfo; 3def MyTarget : Target { let InstructionSet = MyTargetISA; } 4 5class MyTargetGenericInstruction : GenericInstruction { 6 let Namespace = "MyTarget"; 7} 8 9def R0 : Register<"r0"> { let Namespace = "MyTarget"; } 10def GPR32 : RegisterClass<"MyTarget", [i32], 32, (add R0)>; 11def GPR32Op : RegisterOperand<GPR32>; 12def F0 : Register<"f0"> { let Namespace = "MyTarget"; } 13def FPR32 : RegisterClass<"MyTarget", [f32], 32, (add F0)>; 14def FPR32Op : RegisterOperand<FPR32>; 15def B0 : Register<"b0"> { let Namespace = "MyTarget"; } 16def GPR8 : RegisterClass<"MyTarget", [i8], 8, (add B0)>; 17def GPR8Op : RegisterOperand<GPR8>; 18 19 20def V0 : Register<"v0"> { let Namespace = "MyTarget"; } 21def VecReg128 : RegisterClass<"MyTarget", [v4i32], 128, (add V0)>; 22 23def p0 : PtrValueType <i32, 0>; 24 25class I<dag OOps, dag IOps, list<dag> Pat> 26 : Instruction { 27 let Namespace = "MyTarget"; 28 let OutOperandList = OOps; 29 let InOperandList = IOps; 30 let Pattern = Pat; 31} 32