Untitled Diff
50 lines
; Method Program:ParseNumberString(long,long):int
; Method Program:ParseNumberString(long,long):int
G_M45235_IG01:
G_M45235_IG01:
vzeroupper
vzeroupper
;; bbWeight=1 PerfScore 1.00
;; bbWeight=1 PerfScore 1.00
G_M45235_IG02:
G_M45235_IG02:
lea rax, [rcx+16]
lea rax, [rcx+16]
cmp rax, rdx
cmp rax, rdx
ja SHORT G_M45235_IG05
ja SHORT G_M45235_IG05
;; bbWeight=1 PerfScore 1.75
;; bbWeight=1 PerfScore 1.75
G_M45235_IG03:
G_M45235_IG03:
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovupd xmm1, xmmword ptr [reloc @RWD16]
vmovaps xmm1, xmm0
vlddqu xmm2, xmmword ptr [rcx]
vmovupd xmm2, xmmword ptr [reloc @RWD16]
vpcmpgtb xmm0, xmm2, xmm0
vmovaps xmm3, xmm2
vpcmpgtb xmm1, xmm1, xmm2
vlddqu xmm4, xmmword ptr [rcx]
vpsubb xmm0, xmm0, xmm1
vpcmpgtb xmm1, xmm4, xmm1
vptest xmm0, xmm0
vpcmpgtb xmm3, xmm3, xmm4
vpsubb xmm1, xmm1, xmm3
vptest xmm1, xmm1
jne SHORT G_M45235_IG05
jne SHORT G_M45235_IG05
lea rax, [rcx+32]
lea rax, [rcx+32]
cmp rax, rdx
cmp rax, rdx
ja SHORT G_M45235_IG05
ja SHORT G_M45235_IG05
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vlddqu xmm1, xmmword ptr [rcx+16]
vmovupd xmm1, xmmword ptr [reloc @RWD16]
vpcmpgtb xmm0, xmm1, xmm0
vlddqu xmm2, xmmword ptr [rcx+16]
vpcmpgtb xmm1, xmm2, xmm1
vpcmpgtb xmm0, xmm2, xmm0
vpcmpgtb xmm1, xmm1, xmm2
vpsubb xmm0, xmm0, xmm1
vpsubb xmm0, xmm0, xmm1
vptest xmm0, xmm0
vptest xmm0, xmm0
jne SHORT G_M45235_IG05
jne SHORT G_M45235_IG05
mov eax, 2
mov eax, 2
;; bbWeight=0.50 PerfScore 16.33
;; bbWeight=0.50 PerfScore 13.58
G_M45235_IG04:
G_M45235_IG04:
ret
ret
;; bbWeight=0.50 PerfScore 0.50
;; bbWeight=0.50 PerfScore 0.50
G_M45235_IG05:
G_M45235_IG05:
mov eax, 1
mov eax, 1
;; bbWeight=0.50 PerfScore 0.12
;; bbWeight=0.50 PerfScore 0.12
G_M45235_IG06:
G_M45235_IG06:
ret
ret
;; bbWeight=0.50 PerfScore 0.50
;; bbWeight=0.50 PerfScore 0.50
RWD00 dq 2F2F2F2F2F2F2F2Fh, 2F2F2F2F2F2F2F2Fh
RWD00 dq 2F2F2F2F2F2F2F2Fh, 2F2F2F2F2F2F2F2Fh
RWD16 dq 3A3A3A3A3A3A3A3Ah, 3A3A3A3A3A3A3A3Ah
RWD16 dq 3A3A3A3A3A3A3A3Ah, 3A3A3A3A3A3A3A3Ah
; Total bytes of code: 112
; Total bytes of code: 104