1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Pseudo-instruction MC lowering Source Fragment *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9bool AArch64AsmPrinter::
10lowerPseudoInstExpansion(const MachineInstr *MI, MCInst &Inst) {
11 Inst.clear();
12 switch (MI->getOpcode()) {
13 default: return false;
14 case AArch64::BLRNoIP: {
15 MCOperand MCOp;
16 Inst.setOpcode(AArch64::BLR);
17 // Operand: Rn
18 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
19 Inst.addOperand(Op: MCOp);
20 break;
21 }
22 case AArch64::BLR_X16: {
23 MCOperand MCOp;
24 Inst.setOpcode(AArch64::BLR);
25 // Operand: Rn
26 Inst.addOperand(Op: MCOperand::createReg(Reg: AArch64::X16));
27 break;
28 }
29 case AArch64::MRS_FPCR: {
30 MCOperand MCOp;
31 Inst.setOpcode(AArch64::MRS);
32 // Operand: Rt
33 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
34 Inst.addOperand(Op: MCOp);
35 // Operand: systemreg
36 Inst.addOperand(Op: MCOperand::createImm(Val: 55840));
37 break;
38 }
39 case AArch64::MRS_FPSR: {
40 MCOperand MCOp;
41 Inst.setOpcode(AArch64::MRS);
42 // Operand: Rt
43 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
44 Inst.addOperand(Op: MCOp);
45 // Operand: systemreg
46 Inst.addOperand(Op: MCOperand::createImm(Val: 55841));
47 break;
48 }
49 case AArch64::MSR_FPCR: {
50 MCOperand MCOp;
51 Inst.setOpcode(AArch64::MSR);
52 // Operand: systemreg
53 Inst.addOperand(Op: MCOperand::createImm(Val: 55840));
54 // Operand: Rt
55 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
56 Inst.addOperand(Op: MCOp);
57 break;
58 }
59 case AArch64::MSR_FPSR: {
60 MCOperand MCOp;
61 Inst.setOpcode(AArch64::MSR);
62 // Operand: systemreg
63 Inst.addOperand(Op: MCOperand::createImm(Val: 55841));
64 // Operand: Rt
65 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
66 Inst.addOperand(Op: MCOp);
67 break;
68 }
69 case AArch64::PTEST_PP_ANY: {
70 MCOperand MCOp;
71 Inst.setOpcode(AArch64::PTEST_PP);
72 // Operand: Pg
73 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
74 Inst.addOperand(Op: MCOp);
75 // Operand: Pn
76 lowerOperand(MO: MI->getOperand(i: 1), MCOp);
77 Inst.addOperand(Op: MCOp);
78 break;
79 }
80 case AArch64::PTEST_PP_FIRST: {
81 MCOperand MCOp;
82 Inst.setOpcode(AArch64::PTEST_PP);
83 // Operand: Pg
84 lowerOperand(MO: MI->getOperand(i: 0), MCOp);
85 Inst.addOperand(Op: MCOp);
86 // Operand: Pn
87 lowerOperand(MO: MI->getOperand(i: 1), MCOp);
88 Inst.addOperand(Op: MCOp);
89 break;
90 }
91 }
92 return true;
93}
94
95