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, s2 imm) |
void | lld (u1 xt, u1 xn, s2 imm) |
void | ald (u1 xt, u1 xn, s2 imm) |
void | fld (u1 xt, u1 xn, s2 imm) |
void | dld (u1 xt, u1 xn, s2 imm) |
void | ldrh (u1 wt, u1 xn, s2 imm) |
void | ldrb (u1 wt, u1 xn, s2 imm) |
void | ldrsb32 (u1 wt, u1 xn, s2 imm) |
void | ldrsh32 (u1 wt, u1 xn, s2 imm) |
void | ist (u1 xt, u1 xn, s2 imm) |
void | lst (u1 xt, u1 xn, s2 imm) |
void | ast (u1 xt, u1 xn, s2 imm) |
void | fst (u1 xt, u1 xn, s2 imm) |
void | dst (u1 xt, u1 xn, s2 imm) |
void | strh (u1 wt, u1 xn, s2 imm) |
void | strb (u1 wt, u1 xn, s2 imm) |
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 | 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 174 of file codegen.hpp.
Definition at line 177 of file codegen.hpp.
Definition at line 181 of file codegen.hpp.
Definition at line 180 of file codegen.hpp.
Definition at line 178 of file codegen.hpp.
Definition at line 188 of file codegen.hpp.
Definition at line 190 of file codegen.hpp.
Definition at line 186 of file codegen.hpp.
Definition at line 191 of file codegen.hpp.
Definition at line 187 of file codegen.hpp.
Definition at line 189 of file codegen.hpp.
Definition at line 182 of file codegen.hpp.
Definition at line 179 of file codegen.hpp.
Definition at line 183 of file codegen.hpp.
Definition at line 185 of file codegen.hpp.
Definition at line 184 of file codegen.hpp.
Definition at line 193 of file codegen.hpp.
Definition at line 194 of file codegen.hpp.
Definition at line 197 of file codegen.hpp.
Definition at line 270 of file codegen.hpp.
Definition at line 273 of file codegen.hpp.
Definition at line 276 of file codegen.hpp.
Definition at line 277 of file codegen.hpp.
Definition at line 317 of file codegen.hpp.
Definition at line 313 of file codegen.hpp.
Definition at line 314 of file codegen.hpp.
Definition at line 292 of file codegen.hpp.
|
inline |
Definition at line 319 of file codegen.hpp.
Definition at line 321 of file codegen.hpp.
Definition at line 285 of file codegen.hpp.
Definition at line 288 of file codegen.hpp.
|
inline |
Definition at line 320 of file codegen.hpp.
Definition at line 322 of file codegen.hpp.
Definition at line 327 of file codegen.hpp.
Definition at line 316 of file codegen.hpp.
Definition at line 311 of file codegen.hpp.
Definition at line 312 of file codegen.hpp.
Definition at line 290 of file codegen.hpp.
Definition at line 291 of file codegen.hpp.
Definition at line 284 of file codegen.hpp.
Definition at line 287 of file codegen.hpp.
Definition at line 308 of file codegen.hpp.
Definition at line 306 of file codegen.hpp.
Definition at line 200 of file codegen.hpp.
Definition at line 235 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 130 of file codegen.hpp.
Definition at line 274 of file codegen.hpp.
Definition at line 280 of file codegen.hpp.
Definition at line 229 of file codegen.hpp.
Definition at line 232 of file codegen.hpp.
Definition at line 92 of file codegen.hpp.
Definition at line 225 of file codegen.hpp.
Definition at line 211 of file codegen.hpp.
Definition at line 255 of file codegen.hpp.
Definition at line 309 of file codegen.hpp.
Definition at line 307 of file codegen.hpp.
Definition at line 201 of file codegen.hpp.
Xd = Xn + shift(Xm, amount);.
Definition at line 207 of file codegen.hpp.
Definition at line 236 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 146 of file codegen.hpp.
Definition at line 117 of file codegen.hpp.
Definition at line 118 of file codegen.hpp.
Definition at line 230 of file codegen.hpp.
Definition at line 233 of file codegen.hpp.
Definition at line 226 of file codegen.hpp.
Definition at line 212 of file codegen.hpp.
Definition at line 254 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 195 of file codegen.hpp.
Definition at line 249 of file codegen.hpp.
Definition at line 250 of file codegen.hpp.
Definition at line 251 of file codegen.hpp.
Definition at line 252 of file codegen.hpp.
Definition at line 247 of file codegen.hpp.
Definition at line 248 of file codegen.hpp.
|
private |
Definition at line 325 of file codegen.hpp.