From CISC to RISC: language-model guided assembly transpilation
Authors: name: Ahmed Heakl; name: Chaimaa Abi; name: Rania Hossam; name: Abdulrahman Mahmoud
Published: 2024-11-25 12:37:07

Abstract: The transition from x86 to ARM architecture is becoming increasingly common
across various domains, primarily driven by ARM's energy efficiency and
improved performance across traditional sectors. However, this ISA shift poses
significant challenges, mainly due to the extensive legacy ecosystem of x86
software and lack of portability across proprietary ecosystems and software
stacks. This paper introduces CRT, a lightweight LLM-based transpiler that
automatically converts x86 assembly to ARM assembly. Our approach bridges the
fundamental architectural gap between x86's CISC-based and ARM's RISC-based
computing paradigms while preserving program semantics and optimizing
performance. We evaluate CRT on diverse real-world applications, achieving
79.25% translation accuracy from x86 to ARMv5 on our comprehensive test suite,
and an 88.68% accuracy from x86 to RISC-V. In practical deployments on Apple M2
hardware (ARMv8), our transpiled code achieves 1.73times speedup compared to
Apple's Rosetta 2 virtualization engine, while delivering 2.41times memory
efficiency and 1.47times better energy consumption. Through testing and
analysis, we show that CRT successfully navigates the CISC/RISC divide and
generates correctly executable RISC code despite machine ``language'' barriers.
We release our code, models, training datasets, and benchmarks at:
https://ahmedheakl.github.io/asm2asm/.