3 /* Rd := Rn <Op> (imm8 ROR rot) ; rot is power of 2 */
4 #define ARM_<Op>_REG_IMM_COND(p, rd, rn, imm8, rot, cond) \
5 ARM_DPIOP_REG_IMM8ROT_COND(p, ARMOP_<Op>, rd, rn, imm8, rot, cond)
6 #define ARM_<Op>_REG_IMM(p, rd, rn, imm8, rot) \
7 ARM_<Op>_REG_IMM_COND(p, rd, rn, imm8, rot, ARMCOND_AL)
8 #define ARM_<Op>S_REG_IMM_COND(p, rd, rn, imm8, rot, cond) \
9 ARM_DPIOP_S_REG_IMM8ROT_COND(p, ARMOP_<Op>, rd, rn, imm8, rot, cond)
10 #define ARM_<Op>S_REG_IMM(p, rd, rn, imm8, rot) \
11 ARM_<Op>S_REG_IMM_COND(p, rd, rn, imm8, rot, ARMCOND_AL)
14 #define _<Op>_REG_IMM_COND(rd, rn, imm8, rot, cond) \
15 ARM_IASM_DPIOP_REG_IMM8ROT_COND(ARMOP_<Op>, rd, rn, imm8, rot, cond)
16 #define _<Op>_REG_IMM(rd, rn, imm8, rot) \
17 _<Op>_REG_IMM_COND(rd, rn, imm8, rot, ARMCOND_AL)
18 #define _<Op>S_REG_IMM_COND(rd, rn, imm8, rot, cond) \
19 ARM_IASM_DPIOP_S_REG_IMM8ROT_COND(ARMOP_<Op>, rd, rn, imm8, rot, cond)
20 #define _<Op>S_REG_IMM(rd, rn, imm8, rot) \
21 _<Op>S_REG_IMM_COND(rd, rn, imm8, rot, ARMCOND_AL)
25 /* Rd := Rn <Op> imm8 */
26 #define ARM_<Op>_REG_IMM8_COND(p, rd, rn, imm8, cond) \
27 ARM_<Op>_REG_IMM_COND(p, rd, rn, imm8, 0, cond)
28 #define ARM_<Op>_REG_IMM8(p, rd, rn, imm8) \
29 ARM_<Op>_REG_IMM8_COND(p, rd, rn, imm8, ARMCOND_AL)
30 #define ARM_<Op>S_REG_IMM8_COND(p, rd, rn, imm8, cond) \
31 ARM_<Op>S_REG_IMM_COND(p, rd, rn, imm8, 0, cond)
32 #define ARM_<Op>S_REG_IMM8(p, rd, rn, imm8) \
33 ARM_<Op>S_REG_IMM8_COND(p, rd, rn, imm8, ARMCOND_AL)
36 #define _<Op>_REG_IMM8_COND(rd, rn, imm8, cond) \
37 _<Op>_REG_IMM_COND(rd, rn, imm8, 0, cond)
38 #define _<Op>_REG_IMM8(rd, rn, imm8) \
39 _<Op>_REG_IMM8_COND(rd, rn, imm8, ARMCOND_AL)
40 #define _<Op>S_REG_IMM8_COND(rd, rn, imm8, cond) \
41 _<Op>S_REG_IMM_COND(rd, rn, imm8, 0, cond)
42 #define _<Op>S_REG_IMM8(rd, rn, imm8) \
43 _<Op>S_REG_IMM8_COND(rd, rn, imm8, ARMCOND_AL)
47 /* Rd := Rn <Op> Rm */
48 #define ARM_<Op>_REG_REG_COND(p, rd, rn, rm, cond) \
49 ARM_DPIOP_REG_REG_COND(p, ARMOP_<Op>, rd, rn, rm, cond)
50 #define ARM_<Op>_REG_REG(p, rd, rn, rm) \
51 ARM_<Op>_REG_REG_COND(p, rd, rn, rm, ARMCOND_AL)
52 #define ARM_<Op>S_REG_REG_COND(p, rd, rn, rm, cond) \
53 ARM_DPIOP_S_REG_REG_COND(p, ARMOP_<Op>, rd, rn, rm, cond)
54 #define ARM_<Op>S_REG_REG(p, rd, rn, rm) \
55 ARM_<Op>S_REG_REG_COND(p, rd, rn, rm, ARMCOND_AL)
58 #define _<Op>_REG_REG_COND(rd, rn, rm, cond) \
59 ARM_IASM_DPIOP_REG_REG_COND(ARMOP_<Op>, rd, rn, rm, cond)
60 #define _<Op>_REG_REG(rd, rn, rm) \
61 _<Op>_REG_REG_COND(rd, rn, rm, ARMCOND_AL)
62 #define _<Op>S_REG_REG_COND(rd, rn, rm, cond) \
63 ARM_IASM_DPIOP_S_REG_REG_COND(ARMOP_<Op>, rd, rn, rm, cond)
64 #define _<Op>S_REG_REG(rd, rn, rm) \
65 _<Op>S_REG_REG_COND(rd, rn, rm, ARMCOND_AL)
69 /* Rd := Rn <Op> (Rm <shift_type> imm_shift) */
70 #define ARM_<Op>_REG_IMMSHIFT_COND(p, rd, rn, rm, shift_type, imm_shift, cond) \
71 ARM_DPIOP_REG_IMMSHIFT_COND(p, ARMOP_<Op>, rd, rn, rm, shift_type, imm_shift, cond)
72 #define ARM_<Op>_REG_IMMSHIFT(p, rd, rn, rm, shift_type, imm_shift) \
73 ARM_<Op>_REG_IMMSHIFT_COND(p, rd, rn, rm, shift_type, imm_shift, ARMCOND_AL)
74 #define ARM_<Op>S_REG_IMMSHIFT_COND(p, rd, rn, rm, shift_type, imm_shift, cond) \
75 ARM_DPIOP_S_REG_IMMSHIFT_COND(p, ARMOP_<Op>, rd, rn, rm, shift_type, imm_shift, cond)
76 #define ARM_<Op>S_REG_IMMSHIFT(p, rd, rn, rm, shift_type, imm_shift) \
77 ARM_<Op>S_REG_IMMSHIFT_COND(p, rd, rn, rm, shift_type, imm_shift, ARMCOND_AL)
80 #define _<Op>_REG_IMMSHIFT_COND(rd, rn, rm, shift_type, imm_shift, cond) \
81 ARM_IASM_DPIOP_REG_IMMSHIFT_COND(ARMOP_<Op>, rd, rn, rm, shift_type, imm_shift, cond)
82 #define _<Op>_REG_IMMSHIFT(rd, rn, rm, shift_type, imm_shift) \
83 _<Op>_REG_IMMSHIFT_COND(rd, rn, rm, shift_type, imm_shift, ARMCOND_AL)
84 #define _<Op>S_REG_IMMSHIFT_COND(rd, rn, rm, shift_type, imm_shift, cond) \
85 ARM_IASM_DPIOP_S_REG_IMMSHIFT_COND(ARMOP_<Op>, rd, rn, rm, shift_type, imm_shift, cond)
86 #define _<Op>S_REG_IMMSHIFT(rd, rn, rm, shift_type, imm_shift) \
87 _<Op>S_REG_IMMSHIFT_COND(rd, rn, rm, shift_type, imm_shift, ARMCOND_AL)
91 /* Rd := Rn <Op> (Rm <shift_type> Rs) */
92 #define ARM_<Op>_REG_REGSHIFT_COND(p, rd, rn, rm, shift_type, rs, cond) \
93 ARM_DPIOP_REG_REGSHIFT_COND(p, ARMOP_<Op>, rd, rn, rm, shift_t, rs, cond)
94 #define ARM_<Op>_REG_REGSHIFT(p, rd, rn, rm, shift_type, rs) \
95 ARM_<Op>_REG_REGSHIFT_COND(p, rd, rn, rm, shift_type, rs, ARMCOND_AL)
96 #define ARM_<Op>S_REG_REGSHIFT_COND(p, rd, rn, rm, shift_type, rs, cond) \
97 ARM_DPIOP_S_REG_REGSHIFT_COND(p, ARMOP_<Op>, rd, rn, rm, shift_t, rs, cond)
98 #define ARM_<Op>S_REG_REGSHIFT(p, rd, rn, rm, shift_type, rs) \
99 ARM_<Op>S_REG_REGSHIFT_COND(p, rd, rn, rm, shift_type, rs, ARMCOND_AL)
102 #define _<Op>_REG_REGSHIFT_COND(rd, rn, rm, shift_type, rs, cond) \
103 ARM_IASM_DPIOP_REG_REGSHIFT_COND(ARMOP_<Op>, rd, rn, rm, shift_t, rs, cond)
104 #define _<Op>_REG_REGSHIFT(rd, rn, rm, shift_type, rs) \
105 _<Op>_REG_REGSHIFT_COND(rd, rn, rm, shift_type, rs, ARMCOND_AL)
106 #define _<Op>S_REG_REGSHIFT_COND(rd, rn, rm, shift_type, rs, cond) \
107 ARM_IASM_DPIOP_S_REG_REGSHIFT_COND(ARMOP_<Op>, rd, rn, rm, shift_t, rs, cond)
108 #define _<Op>S_REG_REGSHIFT(rd, rn, rm, shift_type, rs) \
109 _<Op>S_REG_REGSHIFT_COND(rd, rn, rm, shift_type, rs, ARMCOND_AL)