CACAO
|
Public Member Functions | |
AsmEmitter (codegendata *cd) | |
void | imov (u1 wd, u1 wn) |
void | mov (u1 xt, u1 xn) |
void | icmp_imm (u1 wd, u2 imm) |
void | lcmp_imm (u1 xd, u2 imm) |
void | icmn_imm (u1 wd, u2 imm) |
void | lcmn_imm (u1 xd, u2 imm) |
void | icmp (u1 wn, u1 wm) |
void | lcmp (u1 xn, u1 xm) |
void | acmp (u1 xn, u1 xm) |
void | nop () |
void | ild (u1 xt, u1 xn, s4 imm) |
void | lld (u1 xt, u1 xn, s4 imm) |
void | ald (u1 xt, u1 xn, s4 imm) |
void | fld (u1 xt, u1 xn, s4 imm) |
void | dld (u1 xt, u1 xn, s4 imm) |
void | ldrh (u1 wt, u1 xn, s4 imm) |
void | ldrb (u1 wt, u1 xn, s4 imm) |
void | ldrsb32 (u1 wt, u1 xn, s4 imm) |
void | ldrsh32 (u1 wt, u1 xn, s4 imm) |
void | ist (u1 xt, u1 xn, s4 imm) |
void | lst (u1 xt, u1 xn, s4 imm) |
void | ast (u1 xt, u1 xn, s4 imm) |
void | fst (u1 xt, u1 xn, s4 imm) |
void | dst (u1 xt, u1 xn, s4 imm) |
void | strh (u1 wt, u1 xn, s4 imm) |
void | strb (u1 wt, u1 xn, s4 imm) |
void | ildxr (u1 wt, u1 xn) |
void | istxr (u1 ws, u1 wt, u1 xn) |
void | iconst (u1 xt, s4 value) |
void | lconst (u1 xt, s8 value) |
void | lda (u1 xd, u1 xn, s4 imm) |
void | adr (u1 xd, s4 imm) |
void | b (s4 imm) |
void | b_eq (s4 imm) |
void | b_ne (s4 imm) |
void | b_cs (s4 imm) |
void | b_cc (s4 imm) |
void | b_mi (s4 imm) |
void | b_pl (s4 imm) |
void | b_vs (s4 imm) |
void | b_vc (s4 imm) |
void | b_hi (s4 imm) |
void | b_ls (s4 imm) |
void | b_ge (s4 imm) |
void | b_lt (s4 imm) |
void | b_gt (s4 imm) |
void | b_le (s4 imm) |
void | blr (u1 xn) |
void | br (u1 xn) |
void | ret () |
void | cbnz (u1 xn, s4 imm) |
void | icbnz (u1 wn, s4 imm) |
void | iadd_imm (u1 xd, u1 xn, u4 imm) |
void | ladd_imm (u1 xd, u1 xn, u4 imm) |
void | iadd (u1 xd, u1 xn, u1 xm) |
void | ladd (u1 xd, u1 xn, u1 xm) |
void | ladd_shift (u1 xd, u1 xn, u1 xm, u1 shift, u1 amount) |
Xd = Xn + shift(Xm, amount);. More... | |
void | isub_imm (u1 xd, u1 xn, u4 imm) |
void | lsub_imm (u1 xd, u1 xn, u4 imm) |
void | isub (u1 xd, u1 xn, u1 xm) |
void | lsub (u1 xd, u1 xn, u1 xm) |
void | idiv (u1 wd, u1 wn, u1 wm) |
void | ldiv (u1 xd, u1 xn, u1 xm) |
void | imul (u1 wd, u1 wn, u1 wm) |
void | lmul (u1 xd, u1 xn, u1 xm) |
void | imsub (u1 wd, u1 wn, u1 wm, u1 wa) |
void | lmsub (u1 xd, u1 xn, u1 xm, u1 xa) |
void | ilsl_imm (u1 wd, u1 wn, u1 shift) |
void | llsl_imm (u1 xd, u1 xn, u1 shift) |
void | ilsr_imm (u1 wd, u1 wn, u1 shift) |
void | llsr_imm (u1 xd, u1 xn, u1 shift) |
void | iasr_imm (u1 wd, u1 wn, u1 shift) |
void | lasr_imm (u1 xd, u1 xn, u1 shift) |
void | iasr (u1 wd, u1 wn, u1 wm) |
void | lasr (u1 xd, u1 xn, u1 xm) |
void | ilsr (u1 wd, u1 wn, u1 wm) |
void | llsr (u1 xd, u1 xn, u1 xm) |
void | ilsl (u1 wd, u1 wn, u1 wm) |
void | llsl (u1 xd, u1 xn, u1 xm) |
void | uxtb (u1 wd, u1 wn) |
void | uxth (u1 wd, u1 wn) |
void | sxtb (u1 wd, u1 wn) |
void | sxth (u1 wd, u1 wn) |
void | sxtw (u1 xd, u1 wn) |
void | ubfx (u1 wd, u1 xn) |
void | ltst (u1 xn, u1 xm) |
void | itst (u1 wn, u1 wm) |
void | iand (u1 wd, u1 wn, u1 wm) |
void | land (u1 xd, u1 xn, u1 xm) |
void | ior (u1 wd, u1 wn, u1 wm) |
void | lor (u1 xd, u1 xn, u1 xm) |
void | ixor (u1 wd, u1 wn, u1 wm) |
void | lxor (u1 xd, u1 xn, u1 xm) |
void | clr (u1 xd) |
void | csel (u1 xt, u1 xn, u1 xm, u1 cond) |
void | icsel (u1 wt, u1 wn, u1 wm, u1 cond) |
void | cset (u1 xt, u1 cond) |
void | csetm (u1 xt, u1 cond) |
void | icsneg (u1 wd, u1 wn, u1 wm, u1 cond) |
void | fmov (u1 sd, u1 sn) |
void | dmov (u1 dd, u1 dn) |
void | fneg (u1 sd, u1 sn) |
void | dneg (u1 dd, u1 dn) |
void | fcmp (u1 sn, u1 sm) |
void | fcmp (u1 sn) |
void | dcmp (u1 xn, u1 xm) |
void | fmul (u1 st, u1 sn, u1 sm) |
void | dmul (u1 dt, u1 dn, u1 dm) |
void | fdiv (u1 st, u1 sn, u1 sm) |
void | ddiv (u1 dt, u1 dn, u1 dm) |
void | fadd (u1 st, u1 sn, u1 sm) |
void | dadd (u1 dt, u1 dn, u1 dm) |
void | fsub (u1 st, u1 sn, u1 sm) |
void | dsub (u1 dt, u1 dn, u1 dm) |
void | i2f (u1 st, u1 wn) |
void | l2f (u1 st, u1 xn) |
void | i2d (u1 dt, u1 wn) |
void | l2d (u1 dt, u1 xn) |
void | f2i (u1 wd, u1 sn) |
void | f2l (u1 xd, u1 sn) |
void | d2i (u1 wd, u1 dn) |
void | d2l (u1 xd, u1 dn) |
void | f2d (u1 dd, u1 sn) |
void | d2f (u1 sd, u1 dn) |
void | dmb () |
void | dsb () |
void | dmb (u1 option) |
void | dsb (u1 option) |
Private Member Functions | |
void | emit_lda (u1 xd, u1 xn, s4 imm) |
Private Attributes | |
codegendata * | cd |
Definition at line 87 of file codegen.hpp.
|
inlineexplicit |
Definition at line 90 of file codegen.hpp.
Definition at line 102 of file codegen.hpp.
Definition at line 179 of file codegen.hpp.
Definition at line 182 of file codegen.hpp.
Definition at line 186 of file codegen.hpp.
Definition at line 185 of file codegen.hpp.
Definition at line 183 of file codegen.hpp.
Definition at line 193 of file codegen.hpp.
Definition at line 195 of file codegen.hpp.
Definition at line 191 of file codegen.hpp.
Definition at line 196 of file codegen.hpp.
Definition at line 192 of file codegen.hpp.
Definition at line 194 of file codegen.hpp.
Definition at line 187 of file codegen.hpp.
Definition at line 184 of file codegen.hpp.
Definition at line 188 of file codegen.hpp.
Definition at line 190 of file codegen.hpp.
Definition at line 189 of file codegen.hpp.
Definition at line 198 of file codegen.hpp.
Definition at line 199 of file codegen.hpp.
Definition at line 202 of file codegen.hpp.
Definition at line 276 of file codegen.hpp.
Definition at line 279 of file codegen.hpp.
Definition at line 282 of file codegen.hpp.
Definition at line 283 of file codegen.hpp.
Definition at line 323 of file codegen.hpp.
Definition at line 319 of file codegen.hpp.
Definition at line 320 of file codegen.hpp.
Definition at line 298 of file codegen.hpp.
|
inline |
Definition at line 325 of file codegen.hpp.
Definition at line 327 of file codegen.hpp.
Definition at line 291 of file codegen.hpp.
Definition at line 294 of file codegen.hpp.
|
inline |
Definition at line 326 of file codegen.hpp.
Definition at line 328 of file codegen.hpp.
Definition at line 333 of file codegen.hpp.
Definition at line 322 of file codegen.hpp.
Definition at line 317 of file codegen.hpp.
Definition at line 318 of file codegen.hpp.
Definition at line 296 of file codegen.hpp.
Definition at line 297 of file codegen.hpp.
Definition at line 290 of file codegen.hpp.
Definition at line 293 of file codegen.hpp.
Definition at line 314 of file codegen.hpp.
Definition at line 312 of file codegen.hpp.
Definition at line 206 of file codegen.hpp.
Definition at line 241 of file codegen.hpp.
Definition at line 203 of file codegen.hpp.
Definition at line 97 of file codegen.hpp.
Definition at line 100 of file codegen.hpp.
Definition at line 95 of file codegen.hpp.
Definition at line 135 of file codegen.hpp.
Definition at line 280 of file codegen.hpp.
Definition at line 286 of file codegen.hpp.
Definition at line 132 of file codegen.hpp.
Definition at line 235 of file codegen.hpp.
Definition at line 238 of file codegen.hpp.
Definition at line 92 of file codegen.hpp.
Definition at line 231 of file codegen.hpp.
Definition at line 217 of file codegen.hpp.
Definition at line 261 of file codegen.hpp.
Definition at line 315 of file codegen.hpp.
Definition at line 313 of file codegen.hpp.
Definition at line 207 of file codegen.hpp.
Xd = Xn + shift(Xm, amount);.
Definition at line 213 of file codegen.hpp.
Definition at line 242 of file codegen.hpp.
Definition at line 98 of file codegen.hpp.
Definition at line 101 of file codegen.hpp.
Definition at line 96 of file codegen.hpp.
Definition at line 151 of file codegen.hpp.
Definition at line 117 of file codegen.hpp.
Definition at line 118 of file codegen.hpp.
Definition at line 236 of file codegen.hpp.
Definition at line 239 of file codegen.hpp.
Definition at line 232 of file codegen.hpp.
Definition at line 218 of file codegen.hpp.
Definition at line 260 of file codegen.hpp.
Definition at line 93 of file codegen.hpp.
|
inline |
Definition at line 104 of file codegen.hpp.
|
inline |
Definition at line 200 of file codegen.hpp.
Definition at line 255 of file codegen.hpp.
Definition at line 256 of file codegen.hpp.
Definition at line 257 of file codegen.hpp.
Definition at line 258 of file codegen.hpp.
Definition at line 253 of file codegen.hpp.
Definition at line 254 of file codegen.hpp.
|
private |
Definition at line 331 of file codegen.hpp.