|
; Assembly listing for method System.HashCode:Test_1():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] ( 29, 11 ) struct (32) [rsp+0x30] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T00] ( 3, 6 ) int -> rcx |
|
; V02 tmp1 [V02,T08] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T07] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T09] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T10] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T11] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 OutArgs [V15 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; V16 cse0 [V16,T06] ( 12, 3 ) int -> rax |
|
; V17 cse1 [V17,T05] ( 3, 2.25) long -> [rsp+0x28] |
|
; |
|
; Lcl frame size = 80 |
|
|
|
G_M18625_IG01: |
|
57 push rdi |
|
4883EC50 sub rsp, 80 |
|
C5F877 vzeroupper |
|
488D7C2430 lea rdi, [rsp+30H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18625_IG02: |
|
488D4C2430 lea rcx, bword ptr [rsp+30H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
48B958560C9FFB7F0000 mov rcx, 0x7FFB9F0C5658 |
|
BA02000000 mov edx, 2 |
|
E8A11A165F call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE |
|
8B0D6B49EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44244C mov eax, dword ptr [rsp+4CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18625_IG03 |
|
894C2440 mov dword ptr [rsp+40H], ecx |
|
E9B9000000 jmp G_M18625_IG07 |
|
|
|
G_M18625_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18625_IG04 |
|
894C2444 mov dword ptr [rsp+44H], ecx |
|
E9AB000000 jmp G_M18625_IG07 |
|
|
|
G_M18625_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18625_IG05 |
|
894C2448 mov dword ptr [rsp+48H], ecx |
|
E99D000000 jmp G_M18625_IG07 |
|
|
|
G_M18625_IG05: |
|
3344244C xor eax, dword ptr [rsp+4CH] |
|
7527 jne SHORT G_M18625_IG06 |
|
8B052B49EEFF mov eax, dword ptr [reloc classVar[0x9f0c65b0]] |
|
8D9028442324 lea edx, [rax+24234428H] |
|
89542430 mov dword ptr [rsp+30H], edx |
|
8D9077CAEB85 lea edx, [rax85EBCA77H] |
|
89542434 mov dword ptr [rsp+34H], edx |
|
89442438 mov dword ptr [rsp+38H], eax |
|
054F86C861 add eax, 0x61C8864F |
|
8944243C mov dword ptr [rsp+3CH], eax |
|
|
|
G_M18625_IG06: |
|
8B442430 mov eax, dword ptr [rsp+30H] |
|
8B542440 mov edx, dword ptr [rsp+40H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442430 mov dword ptr [rsp+30H], eax |
|
8B442434 mov eax, dword ptr [rsp+34H] |
|
8B542444 mov edx, dword ptr [rsp+44H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442434 mov dword ptr [rsp+34H], eax |
|
8B442438 mov eax, dword ptr [rsp+38H] |
|
8B542448 mov edx, dword ptr [rsp+48H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442438 mov dword ptr [rsp+38H], eax |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944243C mov dword ptr [rsp+3CH], eax |
|
|
|
G_M18625_IG07: |
|
8B4C244C mov ecx, dword ptr [rsp+4CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18625_IG09 |
|
894C244C mov dword ptr [rsp+4CH], ecx |
|
488D4C2430 lea rcx, bword ptr [rsp+30H] |
|
E867FBFFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18625_IG08: |
|
4883C450 add rsp, 80 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18625_IG09: |
|
E8BB80C05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 310, prolog size 22 for method System.HashCode:Test_1():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_2():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] ( 46, 17.50) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T08] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T12] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T10] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T14] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T15] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T16] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T09] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T13] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T11] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T17] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T18] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T19] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 OutArgs [V29 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18632_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18632_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0D3F47EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18632_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18632_IG07 |
|
|
|
G_M18632_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18632_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18632_IG07 |
|
|
|
G_M18632_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18632_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18632_IG07 |
|
|
|
G_M18632_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18632_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18632_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18632_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18632_IG14 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D6446EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18632_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18632_IG12 |
|
|
|
G_M18632_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18632_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18632_IG12 |
|
|
|
G_M18632_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18632_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18632_IG12 |
|
|
|
G_M18632_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18632_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18632_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18632_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18632_IG14 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E849FDFFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18632_IG13: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18632_IG14: |
|
E8BD7DC05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 500, prolog size 22 for method System.HashCode:Test_2():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_3():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] ( 68, 25.25) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T12] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T18] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T15] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T21] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T22] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T23] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T13] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T19] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T16] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T24] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T25] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T26] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 tmp28 [V29,T14] ( 2, 4 ) int -> rcx |
|
; V30 tmp29 [V30,T20] ( 5, 2 ) int -> rcx |
|
; V31 tmp30 [V31,T17] ( 5, 2.75) int -> rax |
|
; V32 tmp31 [V32,T08] ( 8, 4 ) int -> rax ld-addr-op |
|
; V33 tmp32 [V33,T27] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V34 tmp33 [V34 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V35 tmp34 [V35,T09] ( 8, 4 ) int -> rax ld-addr-op |
|
; V36 tmp35 [V36,T28] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V37 tmp36 [V37 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V38 tmp37 [V38,T10] ( 8, 4 ) int -> rax ld-addr-op |
|
; V39 tmp38 [V39,T29] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V40 tmp39 [V40 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V41 tmp40 [V41,T11] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V42 tmp41 [V42 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V43 OutArgs [V43 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18643_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18643_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0D2F45EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18643_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18643_IG07 |
|
|
|
G_M18643_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18643_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18643_IG07 |
|
|
|
G_M18643_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18643_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18643_IG07 |
|
|
|
G_M18643_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18643_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18643_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18643_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82C7010000 jb G_M18643_IG19 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D5444EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18643_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18643_IG12 |
|
|
|
G_M18643_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18643_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18643_IG12 |
|
|
|
G_M18643_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18643_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18643_IG12 |
|
|
|
G_M18643_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18643_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18643_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18643_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18643_IG19 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D7943EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18643_IG13 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18643_IG17 |
|
|
|
G_M18643_IG13: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18643_IG14 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18643_IG17 |
|
|
|
G_M18643_IG14: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18643_IG15 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18643_IG17 |
|
|
|
G_M18643_IG15: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18643_IG16 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18643_IG16: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18643_IG17: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18643_IG19 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E85EFAFFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18643_IG18: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18643_IG19: |
|
E8D27AC05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 719, prolog size 22 for method System.HashCode:Test_3():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_4():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] ( 90, 33 ) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T16] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T24] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T20] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T28] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T29] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T30] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T17] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T25] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T21] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T31] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T32] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T33] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 tmp28 [V29,T18] ( 2, 4 ) int -> rcx |
|
; V30 tmp29 [V30,T26] ( 5, 2 ) int -> rcx |
|
; V31 tmp30 [V31,T22] ( 5, 2.75) int -> rax |
|
; V32 tmp31 [V32,T08] ( 8, 4 ) int -> rax ld-addr-op |
|
; V33 tmp32 [V33,T34] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V34 tmp33 [V34 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V35 tmp34 [V35,T09] ( 8, 4 ) int -> rax ld-addr-op |
|
; V36 tmp35 [V36,T35] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V37 tmp36 [V37 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V38 tmp37 [V38,T10] ( 8, 4 ) int -> rax ld-addr-op |
|
; V39 tmp38 [V39,T36] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V40 tmp39 [V40 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V41 tmp40 [V41,T11] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V42 tmp41 [V42 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V43 tmp42 [V43,T19] ( 2, 4 ) int -> rcx |
|
; V44 tmp43 [V44,T27] ( 5, 2 ) int -> rcx |
|
; V45 tmp44 [V45,T23] ( 5, 2.75) int -> rax |
|
; V46 tmp45 [V46,T12] ( 8, 4 ) int -> rax ld-addr-op |
|
; V47 tmp46 [V47,T37] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V48 tmp47 [V48 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V49 tmp48 [V49,T13] ( 8, 4 ) int -> rax ld-addr-op |
|
; V50 tmp49 [V50,T38] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V51 tmp50 [V51 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V52 tmp51 [V52,T14] ( 8, 4 ) int -> rax ld-addr-op |
|
; V53 tmp52 [V53,T39] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V54 tmp53 [V54 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V55 tmp54 [V55,T15] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V56 tmp55 [V56 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V57 OutArgs [V57 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18650_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18650_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0D3F42EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18650_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18650_IG07 |
|
|
|
G_M18650_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18650_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18650_IG07 |
|
|
|
G_M18650_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18650_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18650_IG07 |
|
|
|
G_M18650_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18650_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18650_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18650_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82A2020000 jb G_M18650_IG24 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D6441EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18650_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18650_IG12 |
|
|
|
G_M18650_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18650_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18650_IG12 |
|
|
|
G_M18650_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18650_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18650_IG12 |
|
|
|
G_M18650_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18650_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18650_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18650_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82C7010000 jb G_M18650_IG24 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D8940EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18650_IG13 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18650_IG17 |
|
|
|
G_M18650_IG13: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18650_IG14 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18650_IG17 |
|
|
|
G_M18650_IG14: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18650_IG15 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18650_IG17 |
|
|
|
G_M18650_IG15: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18650_IG16 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18650_IG16: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18650_IG17: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18650_IG24 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DAE3FEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18650_IG18 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18650_IG22 |
|
|
|
G_M18650_IG18: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18650_IG19 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18650_IG22 |
|
|
|
G_M18650_IG19: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18650_IG20 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18650_IG22 |
|
|
|
G_M18650_IG20: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18650_IG21 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18650_IG21: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18650_IG22: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18650_IG24 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E893F6FFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18650_IG23: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18650_IG24: |
|
E80777C05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 938, prolog size 22 for method System.HashCode:Test_4():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_5():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] (112, 40.75) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T20] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T30] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T25] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T35] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T36] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T37] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T21] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T31] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T26] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T38] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T39] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T40] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 tmp28 [V29,T22] ( 2, 4 ) int -> rcx |
|
; V30 tmp29 [V30,T32] ( 5, 2 ) int -> rcx |
|
; V31 tmp30 [V31,T27] ( 5, 2.75) int -> rax |
|
; V32 tmp31 [V32,T08] ( 8, 4 ) int -> rax ld-addr-op |
|
; V33 tmp32 [V33,T41] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V34 tmp33 [V34 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V35 tmp34 [V35,T09] ( 8, 4 ) int -> rax ld-addr-op |
|
; V36 tmp35 [V36,T42] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V37 tmp36 [V37 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V38 tmp37 [V38,T10] ( 8, 4 ) int -> rax ld-addr-op |
|
; V39 tmp38 [V39,T43] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V40 tmp39 [V40 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V41 tmp40 [V41,T11] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V42 tmp41 [V42 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V43 tmp42 [V43,T23] ( 2, 4 ) int -> rcx |
|
; V44 tmp43 [V44,T33] ( 5, 2 ) int -> rcx |
|
; V45 tmp44 [V45,T28] ( 5, 2.75) int -> rax |
|
; V46 tmp45 [V46,T12] ( 8, 4 ) int -> rax ld-addr-op |
|
; V47 tmp46 [V47,T44] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V48 tmp47 [V48 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V49 tmp48 [V49,T13] ( 8, 4 ) int -> rax ld-addr-op |
|
; V50 tmp49 [V50,T45] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V51 tmp50 [V51 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V52 tmp51 [V52,T14] ( 8, 4 ) int -> rax ld-addr-op |
|
; V53 tmp52 [V53,T46] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V54 tmp53 [V54 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V55 tmp54 [V55,T15] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V56 tmp55 [V56 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V57 tmp56 [V57,T24] ( 2, 4 ) int -> rcx |
|
; V58 tmp57 [V58,T34] ( 5, 2 ) int -> rcx |
|
; V59 tmp58 [V59,T29] ( 5, 2.75) int -> rax |
|
; V60 tmp59 [V60,T16] ( 8, 4 ) int -> rax ld-addr-op |
|
; V61 tmp60 [V61,T47] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V62 tmp61 [V62 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V63 tmp62 [V63,T17] ( 8, 4 ) int -> rax ld-addr-op |
|
; V64 tmp63 [V64,T48] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V65 tmp64 [V65 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V66 tmp65 [V66,T18] ( 8, 4 ) int -> rax ld-addr-op |
|
; V67 tmp66 [V67,T49] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V68 tmp67 [V68 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V69 tmp68 [V69,T19] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V70 tmp69 [V70 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V71 OutArgs [V71 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18661_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18661_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0D7F3EEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18661_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18661_IG07 |
|
|
|
G_M18661_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18661_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18661_IG07 |
|
|
|
G_M18661_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18661_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18661_IG07 |
|
|
|
G_M18661_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18661_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18661_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18661_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F827D030000 jb G_M18661_IG29 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DA43DEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18661_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18661_IG12 |
|
|
|
G_M18661_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18661_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18661_IG12 |
|
|
|
G_M18661_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18661_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18661_IG12 |
|
|
|
G_M18661_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18661_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18661_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18661_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82A2020000 jb G_M18661_IG29 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DC93CEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18661_IG13 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18661_IG17 |
|
|
|
G_M18661_IG13: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18661_IG14 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18661_IG17 |
|
|
|
G_M18661_IG14: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18661_IG15 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18661_IG17 |
|
|
|
G_M18661_IG15: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18661_IG16 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18661_IG16: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18661_IG17: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82C7010000 jb G_M18661_IG29 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DEE3BEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18661_IG18 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18661_IG22 |
|
|
|
G_M18661_IG18: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18661_IG19 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18661_IG22 |
|
|
|
G_M18661_IG19: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18661_IG20 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18661_IG22 |
|
|
|
G_M18661_IG20: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18661_IG21 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18661_IG21: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18661_IG22: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18661_IG29 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D133BEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18661_IG23 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18661_IG27 |
|
|
|
G_M18661_IG23: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18661_IG24 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18661_IG27 |
|
|
|
G_M18661_IG24: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18661_IG25 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18661_IG27 |
|
|
|
G_M18661_IG25: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18661_IG26 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18661_IG26: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18661_IG27: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18661_IG29 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E8F8F1FFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18661_IG28: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18661_IG29: |
|
E86C72C05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 1157, prolog size 22 for method System.HashCode:Test_5():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_6():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] (134, 48.50) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T24] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T36] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T30] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T42] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T43] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T44] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T25] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T37] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T31] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T45] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T46] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T47] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 tmp28 [V29,T26] ( 2, 4 ) int -> rcx |
|
; V30 tmp29 [V30,T38] ( 5, 2 ) int -> rcx |
|
; V31 tmp30 [V31,T32] ( 5, 2.75) int -> rax |
|
; V32 tmp31 [V32,T08] ( 8, 4 ) int -> rax ld-addr-op |
|
; V33 tmp32 [V33,T48] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V34 tmp33 [V34 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V35 tmp34 [V35,T09] ( 8, 4 ) int -> rax ld-addr-op |
|
; V36 tmp35 [V36,T49] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V37 tmp36 [V37 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V38 tmp37 [V38,T10] ( 8, 4 ) int -> rax ld-addr-op |
|
; V39 tmp38 [V39,T50] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V40 tmp39 [V40 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V41 tmp40 [V41,T11] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V42 tmp41 [V42 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V43 tmp42 [V43,T27] ( 2, 4 ) int -> rcx |
|
; V44 tmp43 [V44,T39] ( 5, 2 ) int -> rcx |
|
; V45 tmp44 [V45,T33] ( 5, 2.75) int -> rax |
|
; V46 tmp45 [V46,T12] ( 8, 4 ) int -> rax ld-addr-op |
|
; V47 tmp46 [V47,T51] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V48 tmp47 [V48 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V49 tmp48 [V49,T13] ( 8, 4 ) int -> rax ld-addr-op |
|
; V50 tmp49 [V50,T52] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V51 tmp50 [V51 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V52 tmp51 [V52,T14] ( 8, 4 ) int -> rax ld-addr-op |
|
; V53 tmp52 [V53,T53] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V54 tmp53 [V54 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V55 tmp54 [V55,T15] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V56 tmp55 [V56 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V57 tmp56 [V57,T28] ( 2, 4 ) int -> rcx |
|
; V58 tmp57 [V58,T40] ( 5, 2 ) int -> rcx |
|
; V59 tmp58 [V59,T34] ( 5, 2.75) int -> rax |
|
; V60 tmp59 [V60,T16] ( 8, 4 ) int -> rax ld-addr-op |
|
; V61 tmp60 [V61,T54] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V62 tmp61 [V62 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V63 tmp62 [V63,T17] ( 8, 4 ) int -> rax ld-addr-op |
|
; V64 tmp63 [V64,T55] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V65 tmp64 [V65 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V66 tmp65 [V66,T18] ( 8, 4 ) int -> rax ld-addr-op |
|
; V67 tmp66 [V67,T56] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V68 tmp67 [V68 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V69 tmp68 [V69,T19] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V70 tmp69 [V70 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V71 tmp70 [V71,T29] ( 2, 4 ) int -> rcx |
|
; V72 tmp71 [V72,T41] ( 5, 2 ) int -> rcx |
|
; V73 tmp72 [V73,T35] ( 5, 2.75) int -> rax |
|
; V74 tmp73 [V74,T20] ( 8, 4 ) int -> rax ld-addr-op |
|
; V75 tmp74 [V75,T57] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V76 tmp75 [V76 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V77 tmp76 [V77,T21] ( 8, 4 ) int -> rax ld-addr-op |
|
; V78 tmp77 [V78,T58] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V79 tmp78 [V79 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V80 tmp79 [V80,T22] ( 8, 4 ) int -> rax ld-addr-op |
|
; V81 tmp80 [V81,T59] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V82 tmp81 [V82 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V83 tmp82 [V83,T23] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V84 tmp83 [V84 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V85 OutArgs [V85 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18668_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18668_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0DDF39EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18668_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18668_IG07 |
|
|
|
G_M18668_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18668_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18668_IG07 |
|
|
|
G_M18668_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18668_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18668_IG07 |
|
|
|
G_M18668_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18668_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18668_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18668_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F8258040000 jb G_M18668_IG34 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D0439EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18668_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18668_IG12 |
|
|
|
G_M18668_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18668_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18668_IG12 |
|
|
|
G_M18668_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18668_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18668_IG12 |
|
|
|
G_M18668_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18668_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18668_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18668_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F827D030000 jb G_M18668_IG34 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D2938EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18668_IG13 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18668_IG17 |
|
|
|
G_M18668_IG13: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18668_IG14 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18668_IG17 |
|
|
|
G_M18668_IG14: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18668_IG15 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18668_IG17 |
|
|
|
G_M18668_IG15: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18668_IG16 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18668_IG16: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18668_IG17: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82A2020000 jb G_M18668_IG34 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D4E37EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18668_IG18 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18668_IG22 |
|
|
|
G_M18668_IG18: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18668_IG19 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18668_IG22 |
|
|
|
G_M18668_IG19: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18668_IG20 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18668_IG22 |
|
|
|
G_M18668_IG20: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18668_IG21 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18668_IG21: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18668_IG22: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82C7010000 jb G_M18668_IG34 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D7336EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18668_IG23 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18668_IG27 |
|
|
|
G_M18668_IG23: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18668_IG24 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18668_IG27 |
|
|
|
G_M18668_IG24: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18668_IG25 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18668_IG27 |
|
|
|
G_M18668_IG25: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18668_IG26 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18668_IG26: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18668_IG27: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18668_IG34 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D9835EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18668_IG28 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18668_IG32 |
|
|
|
G_M18668_IG28: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18668_IG29 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18668_IG32 |
|
|
|
G_M18668_IG29: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18668_IG30 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18668_IG32 |
|
|
|
G_M18668_IG30: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18668_IG31 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18668_IG31: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18668_IG32: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18668_IG34 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E87DECFFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18668_IG33: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18668_IG34: |
|
E8F16CC05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 1376, prolog size 22 for method System.HashCode:Test_6():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_7():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] (156, 56.25) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T28] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T42] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T35] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T49] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T50] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T51] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T29] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T43] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T36] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T52] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T53] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T54] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 tmp28 [V29,T30] ( 2, 4 ) int -> rcx |
|
; V30 tmp29 [V30,T44] ( 5, 2 ) int -> rcx |
|
; V31 tmp30 [V31,T37] ( 5, 2.75) int -> rax |
|
; V32 tmp31 [V32,T08] ( 8, 4 ) int -> rax ld-addr-op |
|
; V33 tmp32 [V33,T55] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V34 tmp33 [V34 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V35 tmp34 [V35,T09] ( 8, 4 ) int -> rax ld-addr-op |
|
; V36 tmp35 [V36,T56] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V37 tmp36 [V37 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V38 tmp37 [V38,T10] ( 8, 4 ) int -> rax ld-addr-op |
|
; V39 tmp38 [V39,T57] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V40 tmp39 [V40 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V41 tmp40 [V41,T11] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V42 tmp41 [V42 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V43 tmp42 [V43,T31] ( 2, 4 ) int -> rcx |
|
; V44 tmp43 [V44,T45] ( 5, 2 ) int -> rcx |
|
; V45 tmp44 [V45,T38] ( 5, 2.75) int -> rax |
|
; V46 tmp45 [V46,T12] ( 8, 4 ) int -> rax ld-addr-op |
|
; V47 tmp46 [V47,T58] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V48 tmp47 [V48 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V49 tmp48 [V49,T13] ( 8, 4 ) int -> rax ld-addr-op |
|
; V50 tmp49 [V50,T59] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V51 tmp50 [V51 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V52 tmp51 [V52,T14] ( 8, 4 ) int -> rax ld-addr-op |
|
; V53 tmp52 [V53,T60] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V54 tmp53 [V54 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V55 tmp54 [V55,T15] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V56 tmp55 [V56 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V57 tmp56 [V57,T32] ( 2, 4 ) int -> rcx |
|
; V58 tmp57 [V58,T46] ( 5, 2 ) int -> rcx |
|
; V59 tmp58 [V59,T39] ( 5, 2.75) int -> rax |
|
; V60 tmp59 [V60,T16] ( 8, 4 ) int -> rax ld-addr-op |
|
; V61 tmp60 [V61,T61] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V62 tmp61 [V62 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V63 tmp62 [V63,T17] ( 8, 4 ) int -> rax ld-addr-op |
|
; V64 tmp63 [V64,T62] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V65 tmp64 [V65 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V66 tmp65 [V66,T18] ( 8, 4 ) int -> rax ld-addr-op |
|
; V67 tmp66 [V67,T63] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V68 tmp67 [V68 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V69 tmp68 [V69,T19] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V70 tmp69 [V70 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V71 tmp70 [V71,T33] ( 2, 4 ) int -> rcx |
|
; V72 tmp71 [V72,T47] ( 5, 2 ) int -> rcx |
|
; V73 tmp72 [V73,T40] ( 5, 2.75) int -> rax |
|
; V74 tmp73 [V74,T20] ( 8, 4 ) int -> rax ld-addr-op |
|
; V75 tmp74 [V75,T64] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V76 tmp75 [V76 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V77 tmp76 [V77,T21] ( 8, 4 ) int -> rax ld-addr-op |
|
; V78 tmp77 [V78,T65] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V79 tmp78 [V79 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V80 tmp79 [V80,T22] ( 8, 4 ) int -> rax ld-addr-op |
|
; V81 tmp80 [V81,T66] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V82 tmp81 [V82 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V83 tmp82 [V83,T23] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V84 tmp83 [V84 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V85 tmp84 [V85,T34] ( 2, 4 ) int -> rcx |
|
; V86 tmp85 [V86,T48] ( 5, 2 ) int -> rcx |
|
; V87 tmp86 [V87,T41] ( 5, 2.75) int -> rax |
|
; V88 tmp87 [V88,T24] ( 8, 4 ) int -> rax ld-addr-op |
|
; V89 tmp88 [V89,T67] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V90 tmp89 [V90 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V91 tmp90 [V91,T25] ( 8, 4 ) int -> rax ld-addr-op |
|
; V92 tmp91 [V92,T68] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V93 tmp92 [V93 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V94 tmp93 [V94,T26] ( 8, 4 ) int -> rax ld-addr-op |
|
; V95 tmp94 [V95,T69] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V96 tmp95 [V96 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V97 tmp96 [V97,T27] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V98 tmp97 [V98 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V99 OutArgs [V99 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18679_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18679_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0D5F34EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG07 |
|
|
|
G_M18679_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG07 |
|
|
|
G_M18679_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG07 |
|
|
|
G_M18679_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F8233050000 jb G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D8433EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG12 |
|
|
|
G_M18679_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG12 |
|
|
|
G_M18679_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG12 |
|
|
|
G_M18679_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F8258040000 jb G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DA932EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG13 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG17 |
|
|
|
G_M18679_IG13: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG14 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG17 |
|
|
|
G_M18679_IG14: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG15 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG17 |
|
|
|
G_M18679_IG15: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG16 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG16: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG17: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F827D030000 jb G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DCE31EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG18 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG22 |
|
|
|
G_M18679_IG18: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG19 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG22 |
|
|
|
G_M18679_IG19: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG20 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG22 |
|
|
|
G_M18679_IG20: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG21 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG21: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG22: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82A2020000 jb G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DF330EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG23 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG27 |
|
|
|
G_M18679_IG23: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG24 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG27 |
|
|
|
G_M18679_IG24: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG25 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG27 |
|
|
|
G_M18679_IG25: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG26 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG26: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG27: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82C7010000 jb G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D1830EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG28 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG32 |
|
|
|
G_M18679_IG28: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG29 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG32 |
|
|
|
G_M18679_IG29: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG30 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG32 |
|
|
|
G_M18679_IG30: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG31 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG31: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG32: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D3D2FEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18679_IG33 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18679_IG37 |
|
|
|
G_M18679_IG33: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18679_IG34 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18679_IG37 |
|
|
|
G_M18679_IG34: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18679_IG35 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18679_IG37 |
|
|
|
G_M18679_IG35: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18679_IG36 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18679_IG36: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18679_IG37: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18679_IG39 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E822E6FFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18679_IG38: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18679_IG39: |
|
E89666C05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 1595, prolog size 22 for method System.HashCode:Test_7():int |
|
; ============================================================ |
|
; Assembly listing for method System.HashCode:Test_8():int |
|
; Emitting BLENDED_CODE for X64 CPU with AVX |
|
; optimized code |
|
; rsp based frame |
|
; partially interruptible |
|
; Final local variable assignments |
|
; |
|
; V00 loc0 [V00 ] (178, 64 ) struct (32) [rsp+0x20] do-not-enreg[XSFB] must-init addr-exposed ld-addr-op |
|
; V01 tmp0 [V01,T32] ( 2, 4 ) int -> rcx |
|
; V02 tmp1 [V02,T48] ( 5, 2 ) int -> rcx |
|
; V03 tmp2 [V03,T40] ( 5, 2.75) int -> rax |
|
; V04 tmp3 [V04,T00] ( 8, 4 ) int -> rax ld-addr-op |
|
; V05 tmp4 [V05,T56] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V06 tmp5 [V06 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V07 tmp6 [V07,T01] ( 8, 4 ) int -> rax ld-addr-op |
|
; V08 tmp7 [V08,T57] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V09 tmp8 [V09 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V10 tmp9 [V10,T02] ( 8, 4 ) int -> rax ld-addr-op |
|
; V11 tmp10 [V11,T58] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V12 tmp11 [V12 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V13 tmp12 [V13,T03] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V14 tmp13 [V14 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V15 tmp14 [V15,T33] ( 2, 4 ) int -> rcx |
|
; V16 tmp15 [V16,T49] ( 5, 2 ) int -> rcx |
|
; V17 tmp16 [V17,T41] ( 5, 2.75) int -> rax |
|
; V18 tmp17 [V18,T04] ( 8, 4 ) int -> rax ld-addr-op |
|
; V19 tmp18 [V19,T59] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V20 tmp19 [V20 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V21 tmp20 [V21,T05] ( 8, 4 ) int -> rax ld-addr-op |
|
; V22 tmp21 [V22,T60] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V23 tmp22 [V23 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V24 tmp23 [V24,T06] ( 8, 4 ) int -> rax ld-addr-op |
|
; V25 tmp24 [V25,T61] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V26 tmp25 [V26 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V27 tmp26 [V27,T07] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V28 tmp27 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V29 tmp28 [V29,T34] ( 2, 4 ) int -> rcx |
|
; V30 tmp29 [V30,T50] ( 5, 2 ) int -> rcx |
|
; V31 tmp30 [V31,T42] ( 5, 2.75) int -> rax |
|
; V32 tmp31 [V32,T08] ( 8, 4 ) int -> rax ld-addr-op |
|
; V33 tmp32 [V33,T62] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V34 tmp33 [V34 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V35 tmp34 [V35,T09] ( 8, 4 ) int -> rax ld-addr-op |
|
; V36 tmp35 [V36,T63] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V37 tmp36 [V37 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V38 tmp37 [V38,T10] ( 8, 4 ) int -> rax ld-addr-op |
|
; V39 tmp38 [V39,T64] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V40 tmp39 [V40 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V41 tmp40 [V41,T11] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V42 tmp41 [V42 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V43 tmp42 [V43,T35] ( 2, 4 ) int -> rcx |
|
; V44 tmp43 [V44,T51] ( 5, 2 ) int -> rcx |
|
; V45 tmp44 [V45,T43] ( 5, 2.75) int -> rax |
|
; V46 tmp45 [V46,T12] ( 8, 4 ) int -> rax ld-addr-op |
|
; V47 tmp46 [V47,T65] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V48 tmp47 [V48 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V49 tmp48 [V49,T13] ( 8, 4 ) int -> rax ld-addr-op |
|
; V50 tmp49 [V50,T66] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V51 tmp50 [V51 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V52 tmp51 [V52,T14] ( 8, 4 ) int -> rax ld-addr-op |
|
; V53 tmp52 [V53,T67] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V54 tmp53 [V54 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V55 tmp54 [V55,T15] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V56 tmp55 [V56 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V57 tmp56 [V57,T36] ( 2, 4 ) int -> rcx |
|
; V58 tmp57 [V58,T52] ( 5, 2 ) int -> rcx |
|
; V59 tmp58 [V59,T44] ( 5, 2.75) int -> rax |
|
; V60 tmp59 [V60,T16] ( 8, 4 ) int -> rax ld-addr-op |
|
; V61 tmp60 [V61,T68] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V62 tmp61 [V62 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V63 tmp62 [V63,T17] ( 8, 4 ) int -> rax ld-addr-op |
|
; V64 tmp63 [V64,T69] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V65 tmp64 [V65 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V66 tmp65 [V66,T18] ( 8, 4 ) int -> rax ld-addr-op |
|
; V67 tmp66 [V67,T70] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V68 tmp67 [V68 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V69 tmp68 [V69,T19] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V70 tmp69 [V70 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V71 tmp70 [V71,T37] ( 2, 4 ) int -> rcx |
|
; V72 tmp71 [V72,T53] ( 5, 2 ) int -> rcx |
|
; V73 tmp72 [V73,T45] ( 5, 2.75) int -> rax |
|
; V74 tmp73 [V74,T20] ( 8, 4 ) int -> rax ld-addr-op |
|
; V75 tmp74 [V75,T71] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V76 tmp75 [V76 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V77 tmp76 [V77,T21] ( 8, 4 ) int -> rax ld-addr-op |
|
; V78 tmp77 [V78,T72] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V79 tmp78 [V79 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V80 tmp79 [V80,T22] ( 8, 4 ) int -> rax ld-addr-op |
|
; V81 tmp80 [V81,T73] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V82 tmp81 [V82 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V83 tmp82 [V83,T23] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V84 tmp83 [V84 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V85 tmp84 [V85,T38] ( 2, 4 ) int -> rcx |
|
; V86 tmp85 [V86,T54] ( 5, 2 ) int -> rcx |
|
; V87 tmp86 [V87,T46] ( 5, 2.75) int -> rax |
|
; V88 tmp87 [V88,T24] ( 8, 4 ) int -> rax ld-addr-op |
|
; V89 tmp88 [V89,T74] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V90 tmp89 [V90 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V91 tmp90 [V91,T25] ( 8, 4 ) int -> rax ld-addr-op |
|
; V92 tmp91 [V92,T75] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V93 tmp92 [V93 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V94 tmp93 [V94,T26] ( 8, 4 ) int -> rax ld-addr-op |
|
; V95 tmp94 [V95,T76] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V96 tmp95 [V96 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V97 tmp96 [V97,T27] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V98 tmp97 [V98 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V99 tmp98 [V99,T39] ( 2, 4 ) int -> rcx |
|
; V100 tmp99 [V100,T55] ( 5, 2 ) int -> rcx |
|
; V101 tmp100 [V101,T47] ( 5, 2.75) int -> rax |
|
; V102 tmp101 [V102,T28] ( 8, 4 ) int -> rax ld-addr-op |
|
; V103 tmp102 [V103,T77] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V104 tmp103 [V104 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V105 tmp104 [V105,T29] ( 8, 4 ) int -> rax ld-addr-op |
|
; V106 tmp105 [V106,T78] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V107 tmp106 [V107 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V108 tmp107 [V108,T30] ( 8, 4 ) int -> rax ld-addr-op |
|
; V109 tmp108 [V109,T79] ( 2, 1 ) int -> rdx ld-addr-op |
|
;* V110 tmp109 [V110 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V111 tmp110 [V111,T31] ( 8, 4 ) int -> rax ld-addr-op |
|
;* V112 tmp111 [V112 ] ( 0, 0 ) int -> zero-ref ld-addr-op |
|
; V113 OutArgs [V113 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] |
|
; |
|
; Lcl frame size = 64 |
|
|
|
G_M18702_IG01: |
|
57 push rdi |
|
4883EC40 sub rsp, 64 |
|
C5F877 vzeroupper |
|
488D7C2420 lea rdi, [rsp+20H] |
|
B908000000 mov ecx, 8 |
|
33C0 xor rax, rax |
|
F3AB rep stosd |
|
|
|
G_M18702_IG02: |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
C4E17957C0 vxorpd xmm0, xmm0 |
|
C4E17A7F01 vmovdqu qword ptr [rcx], xmm0 |
|
C4E17A7F4110 vmovdqu qword ptr [rcx+16], xmm0 |
|
8B0D0F2EEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG03 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG07 |
|
|
|
G_M18702_IG03: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG04 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG07 |
|
|
|
G_M18702_IG04: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG05 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG07 |
|
|
|
G_M18702_IG05: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG06 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG06: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG07: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F820E060000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D342DEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG08 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG12 |
|
|
|
G_M18702_IG08: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG09 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG12 |
|
|
|
G_M18702_IG09: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG10 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG12 |
|
|
|
G_M18702_IG10: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG11 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG11: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG12: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F8233050000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D592CEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG13 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG17 |
|
|
|
G_M18702_IG13: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG14 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG17 |
|
|
|
G_M18702_IG14: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG15 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG17 |
|
|
|
G_M18702_IG15: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG16 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG16: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG17: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F8258040000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D7E2BEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG18 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG22 |
|
|
|
G_M18702_IG18: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG19 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG22 |
|
|
|
G_M18702_IG19: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG20 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG22 |
|
|
|
G_M18702_IG20: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG21 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG21: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG22: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F827D030000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DA32AEEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG23 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG27 |
|
|
|
G_M18702_IG23: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG24 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG27 |
|
|
|
G_M18702_IG24: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG25 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG27 |
|
|
|
G_M18702_IG25: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG26 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG26: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG27: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82A2020000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DC829EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG28 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG32 |
|
|
|
G_M18702_IG28: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG29 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG32 |
|
|
|
G_M18702_IG29: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG30 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG32 |
|
|
|
G_M18702_IG30: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG31 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG31: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG32: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82C7010000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0DED28EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG33 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG37 |
|
|
|
G_M18702_IG33: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG34 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG37 |
|
|
|
G_M18702_IG34: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG35 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG37 |
|
|
|
G_M18702_IG35: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG36 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG36: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG37: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
0F82EC000000 jb G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
8B0D1228EEFF mov ecx, dword ptr [reloc classVar[0x9f0c65d0]] |
|
8B44243C mov eax, dword ptr [rsp+3CH] |
|
83E003 and eax, 3 |
|
85C0 test eax, eax |
|
7509 jne SHORT G_M18702_IG38 |
|
894C2430 mov dword ptr [rsp+30H], ecx |
|
E9B0000000 jmp G_M18702_IG42 |
|
|
|
G_M18702_IG38: |
|
83F801 cmp eax, 1 |
|
7509 jne SHORT G_M18702_IG39 |
|
894C2434 mov dword ptr [rsp+34H], ecx |
|
E9A2000000 jmp G_M18702_IG42 |
|
|
|
G_M18702_IG39: |
|
83F802 cmp eax, 2 |
|
7509 jne SHORT G_M18702_IG40 |
|
894C2438 mov dword ptr [rsp+38H], ecx |
|
E994000000 jmp G_M18702_IG42 |
|
|
|
G_M18702_IG40: |
|
3344243C xor eax, dword ptr [rsp+3CH] |
|
751E jne SHORT G_M18702_IG41 |
|
C744242028442324 mov dword ptr [rsp+20H], 0x24234428 |
|
C744242477CAEB85 mov dword ptr [rsp+24H], 0xFFFFFFFF85EBCA77 |
|
33C0 xor eax, eax |
|
89442428 mov dword ptr [rsp+28H], eax |
|
C744242C4F86C861 mov dword ptr [rsp+2CH], 0x61C8864F |
|
|
|
G_M18702_IG41: |
|
8B442420 mov eax, dword ptr [rsp+20H] |
|
8B542430 mov edx, dword ptr [rsp+30H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442420 mov dword ptr [rsp+20H], eax |
|
8B442424 mov eax, dword ptr [rsp+24H] |
|
8B542434 mov edx, dword ptr [rsp+34H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442424 mov dword ptr [rsp+24H], eax |
|
8B442428 mov eax, dword ptr [rsp+28H] |
|
8B542438 mov edx, dword ptr [rsp+38H] |
|
69D277CAEB85 imul edx, edx, 0xFFFFFFFF85EBCA77 |
|
03C2 add eax, edx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
89442428 mov dword ptr [rsp+28H], eax |
|
8B44242C mov eax, dword ptr [rsp+2CH] |
|
69C977CAEB85 imul ecx, ecx, 0xFFFFFFFF85EBCA77 |
|
03C1 add eax, ecx |
|
C1C00D rol eax, 13 |
|
69C0B179379E imul eax, eax, 0xFFFFFFFF9E3779B1 |
|
8944242C mov dword ptr [rsp+2CH], eax |
|
|
|
G_M18702_IG42: |
|
8B4C243C mov ecx, dword ptr [rsp+3CH] |
|
83C101 add ecx, 1 |
|
7215 jb SHORT G_M18702_IG44 |
|
894C243C mov dword ptr [rsp+3CH], ecx |
|
488D4C2420 lea rcx, bword ptr [rsp+20H] |
|
E8F7DEFFFF call System.HashCode:ToHashCode():int:this |
|
90 nop |
|
|
|
G_M18702_IG43: |
|
4883C440 add rsp, 64 |
|
5F pop rdi |
|
C3 ret |
|
|
|
G_M18702_IG44: |
|
E86B5FC05E call CORINFO_HELP_OVERFLOW |
|
CC int3 |
|
|
|
; Total bytes of code 1814, prolog size 22 for method System.HashCode:Test_8():int |
|
; ============================================================ |
It does not look right that
System.Int32:GetHashCode()
calls are not inlined.I think this is the problem - debug version of CoreCLR has CoreLib compiled as debug. You should do the measurements on Release build. If you need jit disassembly for release CoreCLR build, you can copy clrjit.dll from Debug build to Release CoreCLR build.