PowerPC命令からAArch64命令への置き換えメモ
参考
MinCaml implementation in Haskell の Emit.hs
ARM64のアセンブリの出力まわりが参考になりそう
AIXのドキュメント
マニュアル(リンク切れ)
補足資料
CallClsとCallDir
CallCls(AppCls)
クロージャによる関数呼び出し
CallDir(AppDir)
クロージャによらないトップレベル関数の呼び出し
参考
クロージャ変換 (closure.ml)
ppc/asm.ml で定義される命令一覧
Nop
Li (Load Immediate)
Mov
FLi (Floating Load Immediate)
SetL
(???) ラベルのアドレス読み込む感じかな?
Mr (Move Register)
Neg
Add
Sub
Slw (Shift Left Word)
Lwz (Load Word and Zero)
メモリの指定位置から32ビットのデータをレジスタへロードする
Stw (Store Word)
FMr
FNeg
FAdd
FSub
FMul
FDiv
Lfd (Load Floating Doubleword)
lfd fT, d(rA) : fT ← M( rA+d )
Stfd
Save (退避の仮想命令)
Restore (復帰の仮想命令)
IfEq
IfLE
IfGE
IfFEq
IfFLE