[llvm-dev] Hexagon instruction naming
unisono via llvm-dev
llvm-dev at lists.llvm.org
Sun Jun 6 04:20:03 PDT 2021
Hi,
I update the rizin Hexagon disassembler and use the llvm src for that.
Unfortunately I do not really understand how the naming convention of
the instructions are meant, specifically the first two letters.
M2_mpyud_acc_ll_s0 seems to mean:
M2 -> ? destination description ?
mpyud -> uses mpyu(), but what does the "d" means?
acc -> accumulates by +=
ll -> access lower bits of both registers
s0 -> shifts 0bits
"M2_mpyud_acc_ll_s0" seems to map roughly to:
M2_<operation>_<assign_type>_<reg_access>_<shift>
But for instruction names like
"PS_loadriabs" which maps to "$Rd32 = memw(#$Ii)" this doesn't makes sense.
Is there a source which explains the instruction naming convention?
More information about the llvm-dev
mailing list