Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def : Pat<(i32 (sub GPR32:$src1, (add GPR32:$src2, (mul GPR32:$src2, (i32 0))))),
- (InstTwoOperands GPR32:$src2, GPR32:$src1)>;
- constexpr static int64_t MatchTable0[] = {
- GIM_SwitchOpcode, /*MI*/0, /*[*/47, 133, /*)*//*default:*//*Label 2*/ 462,
- /*TargetOpcode::G_SUB*//*Label 0*/ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /*TargetOpcode::G_SELECT*//*Label 1*/ 245,
- // Label 0: @91
- GIM_Try, /*On fail goto*//*Label 3*/ 244,
- GIM_CheckType, /*MI*/0, /*Op*/0, /*Type*/GILLT_s32,
- GIM_CheckType, /*MI*/0, /*Op*/1, /*Type*/GILLT_s32,
- GIM_CheckType, /*MI*/0, /*Op*/2, /*Type*/GILLT_s32,
- GIM_CheckRegBankForClass, /*MI*/0, /*Op*/0, /*RC*/MyTarget::GPR32RegClassID,
- GIM_CheckRegBankForClass, /*MI*/0, /*Op*/1, /*RC*/MyTarget::GPR32RegClassID,
- GIM_Try, /*On fail goto*//*Label 4*/ 178, // Rule ID 4 //
- GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
- GIM_CheckOpcode, /*MI*/1, TargetOpcode::G_ADD,
- GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
- GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
- GIM_CheckOpcode, /*MI*/2, TargetOpcode::G_MUL,
- GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
- GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
- GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/MyTarget::GPR32RegClassID,
- GIM_CheckConstantInt, /*MI*/2, /*Op*/2, 0,
- // MIs[1] src2
- GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
- GIM_CheckIsSafeToFold, /*InsnID*/1,
- GIM_CheckIsSafeToFold, /*InsnID*/2,
- // (sub:{ *:[i32] } GPR32:{ *:[i32] }:$src1, (add:{ *:[i32] } (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src2, 0:{ *:[i32] }), GPR32:{ *:[i32] }:$src2)) => (InstTwoOperands:{ *:[i32] } GPR32:{ *:[i32] }:$src2, GPR32:{ *:[i32] }:$src1)
- GIR_BuildMI, /*InsnID*/0, /*Opcode*/MyTarget::InstTwoOperands,
- GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/0, // dst
- GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src2
- GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, // src1
- GIR_EraseFromParent, /*InsnID*/0,
- GIR_ConstrainSelectedInstOperands, /*InsnID*/0,
- // GIR_Coverage, 4,
- GIR_Done,
- // Label 4: @178
- GIM_Try, /*On fail goto*//*Label 5*/ 243, // Rule ID 3 //
- GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
- GIM_CheckOpcode, /*MI*/1, TargetOpcode::G_ADD,
- GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
- GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
- GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/MyTarget::GPR32RegClassID,
- GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
- GIM_CheckOpcode, /*MI*/2, TargetOpcode::G_MUL,
- GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
- // MIs[2] src2
- GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
- GIM_CheckConstantInt, /*MI*/2, /*Op*/2, 0,
- GIM_CheckIsSafeToFold, /*InsnID*/1,
- GIM_CheckIsSafeToFold, /*InsnID*/2,
- // (sub:{ *:[i32] } GPR32:{ *:[i32] }:$src1, (add:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src2, 0:{ *:[i32] }))) => (InstTwoOperands:{ *:[i32] } GPR32:{ *:[i32] }:$src2, GPR32:{ *:[i32] }:$src1)
- GIR_BuildMI, /*InsnID*/0, /*Opcode*/MyTarget::InstTwoOperands,
- GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/0, // dst
- GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
- GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, // src1
- GIR_EraseFromParent, /*InsnID*/0,
- GIR_ConstrainSelectedInstOperands, /*InsnID*/0,
- // GIR_Coverage, 3,
- GIR_Done,
- // Label 5: @243
- GIM_Reject,
- // Label 3: @244
- GIM_Reject,
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement