#Linux/x86_64て引数のintをlongにしたらバイナリ互換性壊れるっけ? レジスタ渡しの分は平気? いやcallerがintのつもりで渡してcalleeがlongのつもりで読んだら上位にゴミが見えたりするのかな
#System V Application Binary Interface AMD64 Architecture Processor Supplement (https://software.intel.com/sites/default/files/article/402129/mpx-linux64-abi.pdf)の3.2.3 Parameter Passingを読む限り、intは8byteで渡されるようなので、大丈夫なんじゃないんでしょうか。 #19ページに"The size of each argument gets rounded up to eightbytes."って書いてありますし。
##int対象だと mov ..,%edi になったので一瞬あれっとなったのだけど32bit movは上32bitが0になるんだった。なのでlong対象でもdestinationは%ediのまま。