|
42 | 42 | #define QLF3(a,b,c) {QLF(a), QLF(b), QLF(c)} |
43 | 43 | #define QLF4(a,b,c,d) {QLF(a), QLF(b), QLF(c), QLF(d)} |
44 | 44 | #define QLF5(a,b,c,d,e) {QLF(a), QLF(b), QLF(c), QLF(d), QLF(e)} |
45 | | -#define QLF6(a,b,c,d,e) {QLF(a), QLF(b), QLF(c), QLF(d), QLF(e), QLF(f)} |
| 45 | +#define QLF6(a,b,c,d,e,f) {QLF(a), QLF(b), QLF(c), QLF(d), QLF(e), QLF(f)} |
46 | 46 |
|
47 | 47 | /* Qualifiers list. */ |
48 | 48 |
|
|
70 | 70 | QLF5(X,NIL,CR,CR,NIL), \ |
71 | 71 | } |
72 | 72 |
|
| 73 | +/* e.g. SYSP #<op1>, <Cn>, <Cm>, #<op2>{, <Xt>, <Xt+1>}. */ |
| 74 | +#define QL_SYSP \ |
| 75 | +{ \ |
| 76 | + QLF6(NIL,CR,CR,NIL,X,X), \ |
| 77 | +} |
| 78 | + |
73 | 79 | /* e.g. ADRP <Xd>, <label>. */ |
74 | 80 | #define QL_ADRP \ |
75 | 81 | { \ |
@@ -4195,6 +4201,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = |
4195 | 4201 | GCS_INSN ("gcssttr", 0xd91f1c00, 0xfffffc00, OP2 (Rt, Rn_SP), QL_I2SAMEX, 0), |
4196 | 4202 | CORE_INSN ("gcsb", 0xd503227f, 0xffffffff, ic_system, 0, OP1 (BARRIER_GCSB), {}, F_ALIAS), |
4197 | 4203 | CORE_INSN ("sys", 0xd5080000, 0xfff80000, ic_system, 0, OP5 (UIMM3_OP1, CRn, CRm, UIMM3_OP2, Rt), QL_SYS, F_HAS_ALIAS | F_OPD4_OPT | F_DEFAULT (0x1F)), |
| 4204 | + D128_INSN ("sysp", 0xd5480000, 0xfff80000, OP6 (UIMM3_OP1, CRn, CRm, UIMM3_OP2, Rt, PAIRREG_OR_XZR), QL_SYSP, F_HAS_ALIAS | F_OPD4_OPT | F_OPD_PAIR_OPT | F_DEFAULT (0x1f)), |
4198 | 4205 | CORE_INSN ("at", 0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_AT, Rt), QL_SRC_X, F_ALIAS), |
4199 | 4206 | CORE_INSN ("dc", 0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_DC, Rt), QL_SRC_X, F_ALIAS), |
4200 | 4207 | CORE_INSN ("ic", 0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_IC, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)), |
|
0 commit comments