summaryrefslogtreecommitdiff
path: root/yjit/src/backend/arm64
AgeCommit message (Expand)Author
2024-04-17YJIT: A64: Use CBZ/CBNZ to check for zeroAlan Wu
2024-04-15YJIT: A64: Avoid intermediate register in `opt_and` and friends (#10509)Alan Wu
2024-04-02YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible (#10402)Alan Wu
2024-02-02YJIT: add missing jge comparison instruction (#9819)Maxime Chevalier-Boisvert
2023-11-28YJIT: Assert no patch overlap on pos_marker (#9048)Takashi Kokubun
2023-11-22YJIT: Avoid a register spill on arm64 (#9014)Takashi Kokubun
2023-11-10YJIT: Invoke PosMarker callbacks only with solid positionsAlan Wu
2023-11-07YJIT: Use u32 for CodePtr to save 4 bytes eachAlan Wu
2023-11-03YJIT: Delete some dead code and enable lintsAlan Wu
2023-10-19YJIT: Return Option from asm.compile() for has_dropped_bytes()Alan Wu
2023-09-29YJIT: Chain-guard opt_mult overflow (#8554)Takashi Kokubun
2023-09-15YJIT: Avoid creating a vector in get_temp_regs() (#8446)Takashi Kokubun
2023-08-18YJIT: implement fast path for integer multiplication in opt_mult (#8204)Maxime Chevalier-Boisvert
2023-08-10YJIT: add mul() instruction to backend IR (#8195)Maxime Chevalier-Boisvert
2023-08-03YJIT: add jb (unsigned less-than) instruction to backend (#8168)Maxime Chevalier-Boisvert
2023-07-27YJIT: implement missing `asm.jg` instruction in backend (#8130)Maxime Chevalier-Boisvert
2023-07-04YJIT: Break register cycles for C arguments (take 2) (#8018)Takashi Kokubun
2023-06-12Revert "YJIT: Break register cycles for C arguments (#7918)"Takashi Kokubun
2023-06-12YJIT: Break register cycles for C arguments (#7918)Takashi Kokubun
2023-04-20YJIT: Merge lower_stack into the split pass (#7748)Takashi Kokubun
2023-04-20YJIT: Merge csel and mov on arm64 (#7747)Takashi Kokubun
2023-04-20YJIT: Avoid splitting mov for small values on arm64 (#7745)Takashi Kokubun
2023-04-19YJIT: Replace Mov with LoadInto on arm64 (#7744)Takashi Kokubun
2023-04-19YJIT: Remove Insn::RegTemps (#7741)Takashi Kokubun
2023-04-14YJIT: Add a counter to all side exits (#7720)Takashi Kokubun
2023-04-14YJIT: Introduce Target::SideExit (#7712)Takashi Kokubun
2023-04-12YJIT: Let Assembler own Context (#7691)Takashi Kokubun
2023-04-11YJIT: Reduce paddings if --yjit-exec-mem-size <= 128 on arm64 (#7671)Takashi Kokubun
2023-04-06YJIT: Stack temp register allocation for arm64 (#7659)Takashi Kokubun
2023-04-04YJIT: Stack temp register allocation (#7651)Takashi Kokubun
2023-03-15YJIT: Use assert_disasm! in an A64 test to avoid unused warningAlan Wu
2023-02-22YJIT: Introduce Opnd::Stack (#7352)Takashi Kokubun
2023-02-02YJIT: ARM64: Fix long jumps to labelsAlan Wu
2023-02-02YJIT: ARM64: Move functions out of arm64_emit()Alan Wu
2022-12-01YJIT: fix 32 and 16 bit register store (#6840)Jemma Issroff
2022-11-23YJIT: Simplify Insn::CCall to obviate Target::FunPtr (#6793)Takashi Kokubun
2022-11-22YJIT: Skip padding jumps to side exits on Arm (#6790)Takashi Kokubun
2022-11-1832 bit comparison on shape idAaron Patterson
2022-11-03YJIT: Stop incrementing write_pos if cb.has_dropped_bytes (#6664)Takashi Kokubun
2022-11-02YJIT: Support invokeblock (#6640)Takashi Kokubun
2022-10-26YJIT: Invalidate i-cache for the other cb on next_page (#6631)Takashi Kokubun
2022-10-19YJIT: fold the "asm_comments" feature into "disasm" (#6591)Alan Wu
2022-10-17YJIT: Interleave inline and outlined code blocks (#6460)Takashi Kokubun
2022-10-13fixes more clippy warnings (#6543)Jimmy Miller
2022-10-06YJIT: fix ARM64 bitmask encoding for 32 bit registers (#6503)Alan Wu
2022-10-03Split cmp operations that aren't 32/64 bit for arm (#6484)Jimmy Miller
2022-09-27Change IncrCounter lowering on AArch64 (#6455)Kevin Newton
2022-09-16Invalidate i-cache after link_labels (#6388)Takashi Kokubun
2022-09-14YJIT: Add Opnd#with_num_bits to use only 8 bits (#6359)Takashi Kokubun
2022-09-09Better offsets (#6315)Kevin Newton