Returning Int64/long in ARMv7/ARM64
As requested by some modders.
I used Unity to compile my own
il2cpp game just to check the lib lol
C#:
return 99l;
ARMv7:
MOV R0, #0x63 ; 'c'
MOV R1, #0
BX LR
63
00 A0 E3 00 10 A0 E3 1E FF 2F E1
ARM64:
MOV W0, #0x63
RET
60 0C 80 52 C0 03 5F D6
-------------------------------------
C#:
return 999999l;
ARMv7:
MOV R0, #0x423F
MOV R1, #0
MOVT R0, #0xF
BX LR
3F 02 04 E3 00 10 A0 E3 0F 00 40 E3
1E FF 2F E1
ARM64:
MOV W0, #0x423F
MOVK W0, #0xF,LSL#16
RET
E0 47 88 52 E0 01 A0 72 C0 03 5F D6
-------------------------------------
C#:
return 999999999l;
ARMv7:
MOV R0, #0xC9FF
MOV R1, #0
MOVT R0, #0x3B9A
BX LR
FF 09 0C E3 00 10 A0 E3 9A 0B 43
E3 1E FF 2F E1
ARM64:
MOV W0, #0xC9FF
MOVK W0, #0x3B9A,LSL#16
RET
E0 3F 99 52 40 73 A7 72 C0 03 5F D6
-------------------------------------
C#:
return 999999999999l;
ARMv7:
MOV R0, #0xFFF
MOV R1, #0xE8
MOVT R0, #0xD4A5
BX LR
FF 0F 00 E3 E8 10 A0 E3 A5 04 4D E3
1E FF 2F E1
ARM64:
MOV X0, #0xFFF
MOVK X0, #0xD4A5,LSL#16
MOVK X0, #0xE8,LSL#32
RET
E0 FF 81 D2 A0 94 BA F2
00 1D C0 F2 C0 03 5F D6