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




Kommentarer