Untitled diff

Created Diff never expires
87 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
70 lines
79 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
61 lines
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1-OSR)
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1)
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; Tier1-OSR code
; Tier1 code
; OSR variant for entry point 0x1c
; optimized code
; optimized code
; optimized using Synthesized PGO
; optimized using Synthesized PGO
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; with Synthesized PGO: fgCalledCount is 1.99
; with Synthesized PGO: fgCalledCount is 100
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T04] ( 4, 94.03) ref -> rcx class-hnd single-def <ubyte[]>
; V00 arg0 [V00,T02] ( 4, 75.82) ref -> rcx class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T02] ( 4,184.06) ref -> rax class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T03] ( 4, 75.82) ref -> rdx class-hnd single-def <ubyte[]>
; V02 loc0 [V02,T00] ( 7,545.80) int -> rdx
; V02 loc0 [V02,T00] ( 5,291.00) int -> r8
; V03 OutArgs [V03 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
; V04 cse0 [V04,T03] ( 4,183.60) int -> r8 "CSE #01: aggressive"
; V04 cse0 [V04,T04] ( 4, 75.26) int -> rax "CSE #01: aggressive"
; V05 cse1 [V05,T01] ( 3,273.08) long -> r10 "CSE #02: aggressive"
; V05 cse1 [V05,T05] ( 2, 2 ) int -> r8 "CSE #03: aggressive"
; V06 cse2 [V06,T01] ( 3,218.47) long -> r10 "CSE #02: aggressive"
;* V07 cse3 [V07,T06] ( 0, 0 ) long -> zero-ref "CSE #04: aggressive"
;
;
; Lcl frame size = 40
; Lcl frame size = 0


G_M45663_IG01: ;; offset=0x0000
G_M45663_IG01: ;; offset=0x0000
sub rsp, 40
;; size=0 bbWeight=1 PerfScore 0.00
mov rcx, gword ptr [rsp+0xB0]
G_M45663_IG02: ;; offset=0x0000
mov rax, gword ptr [rsp+0xB8]
mov eax, dword ptr [rcx+0x08]
mov edx, dword ptr [rsp+0x64]
mov r8d, dword ptr [rdx+0x08]
;; size=24 bbWeight=1 PerfScore 6.25
cmp eax, r8d
G_M45663_IG02: ;; offset=0x0018
jne SHORT G_M45663_IG08
mov r8d, dword ptr [rcx+0x08]
;; size=12 bbWeight=1 PerfScore 5.25
cmp r8d, edx
G_M45663_IG03: ;; offset=0x000C
jle SHORT G_M45663_IG05
xor r8d, r8d
align [0 bytes for IG03]
test eax, eax
;; size=9 bbWeight=1 PerfScore 3.25
jle SHORT G_M45663_IG06
G_M45663_IG03: ;; offset=0x0021
align [13 bytes for IG04]
cmp edx, r8d
;; size=20 bbWeight=0.80 PerfScore 1.40
jae SHORT G_M45663_IG09
G_M45663_IG04: ;; offset=0x0020
mov r10d, edx
mov r10d, r8d
movzx r9, byte ptr [rcx+r10+0x10]
movzx r9, byte ptr [rcx+r10+0x10]
cmp edx, dword ptr [rax+0x08]
cmp r9b, byte ptr [rdx+r10+0x10]
jae SHORT G_M45663_IG09
jne SHORT G_M45663_IG08
cmp r9b, byte ptr [rax+r10+0x10]
;; size=16 bbWeight=72.82 PerfScore 455.14
jne SHORT G_M45663_IG07
G_M45663_IG05: ;; offset=0x0030
;; size=26 bbWeight=91.03 PerfScore 1046.82
inc r8d
G_M45663_IG04: ;; offset=0x003B
cmp eax, r8d
inc edx
jg SHORT G_M45663_IG04
cmp r8d, edx
;; size=8 bbWeight=72.46 PerfScore 108.69
jg SHORT G_M45663_IG03
G_M45663_IG06: ;; offset=0x0038
;; size=7 bbWeight=90.57 PerfScore 135.86
G_M45663_IG05: ;; offset=0x0042
mov eax, 1
mov eax, 1
;; size=5 bbWeight=0.54 PerfScore 0.14
;; size=5 bbWeight=0.44 PerfScore 0.11
G_M45663_IG06: ;; offset=0x0047
G_M45663_IG07: ;; offset=0x003D
add rsp, 160
pop rbp
ret
ret
;; size=9 bbWeight=0.54 PerfScore 0.95
;; size=1 bbWeight=0.44 PerfScore 0.44
G_M45663_IG07: ;; offset=0x0050
G_M45663_IG08: ;; offset=0x003E
xor eax, eax
xor eax, eax
;; size=2 bbWeight=0.46 PerfScore 0.11
;; size=2 bbWeight=0.56 PerfScore 0.14
G_M45663_IG08: ;; offset=0x0052
G_M45663_IG09: ;; offset=0x0040
add rsp, 160
pop rbp
ret
ret
;; size=9 bbWeight=0.46 PerfScore 0.80
;; size=1 bbWeight=0.56 PerfScore 0.56
G_M45663_IG09: ;; offset=0x005B
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00


; Total bytes of code 97, prolog size 24, PerfScore 1194.18, instruction count 29, allocated bytes for code 97 (MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1-OSR)
; Total bytes of code 65, prolog size 0, PerfScore 571.73, instruction count 19, allocated bytes for code 65 (MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1)
; ============================================================
; ============================================================