-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[RISC-V] Use common jump binding #120592
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
tomeksowi
wants to merge
14
commits into
dotnet:main
Choose a base branch
from
tomeksowi:common-emitJumpDistBind
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
[RISC-V] Use common jump binding #120592
+211
−529
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
No regressions, improvements come from fuller use of instruction immediates, which matters with RISC-V short branch offsets. Diffs are based on 340,504 contexts (100,281 MinOpts, 240,223 FullOpts). Overall (-908,020 bytes)
MinOpts (-646,744 bytes)
FullOpts (-261,276 bytes)
Example diffslinux.riscv64.Checked.mch-48 (-1.15%) : 62365.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:ValidateImplementedInterfaces(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ImplementsStatementSyntax],Roslyn.Utilities.SetWithInsertionOrder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol],Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)@@ -394,10 +394,9 @@ G_M41614_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[s1]
;; size=104 bbWeight=1 PerfScore 72.50
G_M41614_IG02: ; bbWeight=1, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7}, byrefRegs=0000 {}, byref, isz
- bnez s5, G_M41614_IG62
- j G_M41614_IG62
- ;; size=8 bbWeight=1 PerfScore 4.50
-G_M41614_IG03: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7}, byrefRegs=0000 {}, byref
+ beqz s5, G_M41614_IG62
+ ;; size=4 bbWeight=1 PerfScore 3.50
+G_M41614_IG03: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7}, byrefRegs=0000 {}, byref, isz
ld a0, 0xD1FFAB1E(s5)
; gcrRegs +[a0]
mv a1, a0
@@ -425,9 +424,8 @@ G_M41614_IG04: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7},
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M41614_IG05: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7}, byrefRegs=0000 {}, byref, isz
sext.w t6, a0
- bnez t6, G_M41614_IG62
- j G_M41614_IG62
- ;; size=12 bbWeight=0.50 PerfScore 2.50
+ beqz t6, G_M41614_IG62
+ ;; size=8 bbWeight=0.50 PerfScore 2.00
G_M41614_IG06: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7}, byrefRegs=0000 {}, byref, isz
bnez s7, G_M41614_IG08
fence 3, 3
@@ -439,9 +437,8 @@ G_M41614_IG06: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7},
lw a0, 0xD1FFAB1E(t6)
andi a0, a0, 1
sext.w t6, a0
- bnez t6, G_M41614_IG63
- j G_M41614_IG63
- ;; size=48 bbWeight=0.50 PerfScore 10.50
+ beqz t6, G_M41614_IG63
+ ;; size=44 bbWeight=0.50 PerfScore 10.00
G_M41614_IG07: ; bbWeight=0.50, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
; gcrRegs -[s7]
lui t6, 0xD1FFAB1E
@@ -463,9 +460,8 @@ G_M41614_IG08: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7},
lw a0, 0xD1FFAB1E(t6)
andi a0, a0, 1
sext.w t6, a0
- bnez t6, G_M41614_IG64
- j G_M41614_IG64
- ;; size=48 bbWeight=0.50 PerfScore 10.50
+ beqz t6, G_M41614_IG64
+ ;; size=44 bbWeight=0.50 PerfScore 10.00
G_M41614_IG09: ; bbWeight=0.50, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
; gcrRegs -[s7]
lui t6, 0xD1FFAB1E
@@ -569,7 +565,7 @@ G_M41614_IG10: ; bbWeight=0.50, gcrefRegs=FC0200 {s1 s2 s3 s4 s5 s6 s7},
; gcrRegs -[a0]
addi s7, zero, 0xD1FFAB1E
;; size=260 bbWeight=0.50 PerfScore 38.25
-G_M41614_IG11: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
+G_M41614_IG11: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref, isz
addiw s7, s7, 0xD1FFAB1E
ld a0, 0xD1FFAB1E(s5)
; gcrRegs +[a0]
@@ -596,7 +592,7 @@ G_M41614_IG11: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefR
G_M41614_IG12: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
sext.w a0, s8
;; size=4 bbWeight=2 PerfScore 1.00
-G_M41614_IG13: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
+G_M41614_IG13: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref, isz
j G_M41614_IG15
;; size=4 bbWeight=2 PerfScore 3.00
G_M41614_IG14: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
@@ -605,10 +601,9 @@ G_M41614_IG14: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefR
G_M41614_IG15: ; bbWeight=4, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref, isz
sext.w ra, s7
sext.w t6, a0
- blt ra, t6, G_M41614_IG62
- j G_M41614_IG62
- ;; size=16 bbWeight=4 PerfScore 22.00
-G_M41614_IG16: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
+ bge ra, t6, G_M41614_IG62
+ ;; size=12 bbWeight=4 PerfScore 18.00
+G_M41614_IG16: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref, isz
ld a0, 0xD1FFAB1E(s5)
; gcrRegs +[a0]
lhu a0, 0xD1FFAB1E(a0)
@@ -632,7 +627,7 @@ G_M41614_IG17: ; bbWeight=2, gcrefRegs=7C0200 {s1 s2 s3 s4 s5 s6}, byrefR
mv a1, a0
; gcrRegs +[a1]
;; size=28 bbWeight=2 PerfScore 21.00
-G_M41614_IG18: ; bbWeight=4, gcrefRegs=7C0A00 {s1 a1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
+G_M41614_IG18: ; bbWeight=4, gcrefRegs=7C0A00 {s1 a1 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0]
mv a0, a1
; gcrRegs +[a0]
@@ -645,10 +640,9 @@ G_M41614_IG19: ; bbWeight=2, gcrefRegs=7C0E00 {s1 a0 a1 s2 s3 s4 s5 s6},
addi a2, a2, 0xD1FFAB1E
slli a2, a2, 1
ld a3, 0xD1FFAB1E(a0)
- beq a2, a3, G_M41614_IG65
- j G_M41614_IG65
- ;; size=32 bbWeight=2 PerfScore 23.00
-G_M41614_IG20: ; bbWeight=4, gcrefRegs=7C0600 {s1 a0 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref
+ bne a2, a3, G_M41614_IG65
+ ;; size=28 bbWeight=2 PerfScore 21.00
+G_M41614_IG20: ; bbWeight=4, gcrefRegs=7C0600 {s1 a0 s2 s3 s4 s5 s6}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a1]
addi a1, fp, -24
lui t6, 0xD1FFAB1E
@@ -692,15 +686,14 @@ G_M41614_IG21: ; bbWeight=16, gcrefRegs=27C1200 {s1 a2 s2 s3 s4 s5 s6 s9}
jalr a2 // Roslyn.Utilities.SetWithInsertionOrder`1[System.__Canon]:Add(System.__Canon):bool:this
; gcrRegs -[a0-a1]
;; size=80 bbWeight=16 PerfScore 392.00
-G_M41614_IG22: ; bbWeight=32, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, byrefRegs=0000 {}, byref
+G_M41614_IG22: ; bbWeight=32, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, byrefRegs=0000 {}, byref, isz
addiw s10, s10, 0xD1FFAB1E
sext.w ra, s10
sext.w t6, s8
bge ra, t6, G_M41614_IG11
;; size=16 bbWeight=32 PerfScore 160.00
G_M41614_IG23: ; bbWeight=16, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, byrefRegs=0000 {}, byref, isz
- bnez s9, G_M41614_IG77
- j G_M41614_IG77
+ beqz s9, G_M41614_IG77
ld a1, 0xD1FFAB1E(s9)
; gcrRegs +[a1]
lhu a1, 0xD1FFAB1E(a1)
@@ -708,12 +701,11 @@ G_M41614_IG23: ; bbWeight=16, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, b
sext.w t6, a1
addi ra, zero, 0xD1FFAB1E
bne t6, ra, G_M41614_IG25
- ;; size=28 bbWeight=16 PerfScore 224.00
+ ;; size=24 bbWeight=16 PerfScore 208.00
G_M41614_IG24: ; bbWeight=8, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, byrefRegs=0000 {}, byref, isz
sext.w ra, s10
sext.w t6, s8
- bltu ra, t6, G_M41614_IG77
- j G_M41614_IG77
+ bgeu ra, t6, G_M41614_IG77
slliw a1, s10, 1
mv a0, s9
; gcrRegs +[a0]
@@ -739,12 +731,11 @@ G_M41614_IG24: ; bbWeight=8, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, by
mv s11, a0
; gcrRegs +[s11]
j G_M41614_IG26
- ;; size=96 bbWeight=8 PerfScore 248.00
+ ;; size=92 bbWeight=8 PerfScore 240.00
G_M41614_IG25: ; bbWeight=8, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0 s11]
sext.w t6, s10
- beqz t6, G_M41614_IG77
- j G_M41614_IG77
+ bnez t6, G_M41614_IG77
mv a1, s9
; gcrRegs +[a1]
lui a0, 0xD1FFAB1E
@@ -761,8 +752,8 @@ G_M41614_IG25: ; bbWeight=8, gcrefRegs=27C0200 {s1 s2 s3 s4 s5 s6 s9}, by
; gcrRegs -[a1] +[a0]
mv s11, a0
; gcrRegs +[s11]
- ;; size=64 bbWeight=8 PerfScore 152.00
-G_M41614_IG26: ; bbWeight=16, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref
+ ;; size=60 bbWeight=8 PerfScore 144.00
+G_M41614_IG26: ; bbWeight=16, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0]
mv a0, s11
; gcrRegs +[a0]
@@ -785,7 +776,7 @@ G_M41614_IG26: ; bbWeight=16, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11
; gcrRegs +[a1]
beqz a1, G_M41614_IG31
;; size=60 bbWeight=16 PerfScore 272.00
-G_M41614_IG27: ; bbWeight=8, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref
+G_M41614_IG27: ; bbWeight=8, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0]
mv a0, a1
; gcrRegs +[a0]
@@ -799,7 +790,7 @@ G_M41614_IG27: ; bbWeight=8, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9 s
sext.w t6, a0
beqz t6, G_M41614_IG29
;; size=32 bbWeight=8 PerfScore 140.00
-G_M41614_IG28: ; bbWeight=4, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref
+G_M41614_IG28: ; bbWeight=4, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref, isz
ld a1, -96(fp)
; gcrRegs +[a1]
j G_M41614_IG31
@@ -816,9 +807,8 @@ G_M41614_IG29: ; bbWeight=4, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}
addi a0, a0, 0xD1FFAB1E
slli a0, a0, 3
ld a3, 0xD1FFAB1E(a1)
- beq a0, a3, G_M41614_IG66
- j G_M41614_IG66
- ;; size=40 bbWeight=4 PerfScore 56.00
+ bne a0, a3, G_M41614_IG66
+ ;; size=36 bbWeight=4 PerfScore 52.00
G_M41614_IG30: ; bbWeight=8, gcVars=00000000000000000000000000000000 {}, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[a2]
; GC ptr vars -{V62}
@@ -826,7 +816,7 @@ G_M41614_IG30: ; bbWeight=8, gcVars=00000000000000000000000000000000 {},
; gcrRegs +[a2]
mv a1, a2
;; size=8 bbWeight=8 PerfScore 20.00
-G_M41614_IG31: ; bbWeight=16, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref
+G_M41614_IG31: ; bbWeight=16, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a2]
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -892,7 +882,7 @@ G_M41614_IG31: ; bbWeight=16, gcrefRegs=A7C0A00 {s1 a1 s2 s3 s4 s5 s6 s9
beq t6, ra, G_M41614_IG42
beqz s11, G_M41614_IG33
;; size=204 bbWeight=16 PerfScore 1264.00
-G_M41614_IG32: ; bbWeight=8, gcVars=00000000000000000000000000000000 {}, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, gcvars, byref
+G_M41614_IG32: ; bbWeight=8, gcVars=00000000000000000000000000000000 {}, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[a2]
; GC ptr vars -{V60}
addi a1, zero, 0xD1FFAB1E
@@ -928,9 +918,8 @@ G_M41614_IG34: ; bbWeight=16, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11
; gcrRegs -[a0]
andi a0, a0, 1
sext.w t6, a0
- bnez t6, G_M41614_IG73
- j G_M41614_IG73
- ;; size=84 bbWeight=16 PerfScore 520.00
+ beqz t6, G_M41614_IG73
+ ;; size=80 bbWeight=16 PerfScore 504.00
G_M41614_IG35: ; bbWeight=16, gcVars=00000000000000000000000000000004 {V144}, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, gcvars, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
@@ -949,11 +938,10 @@ G_M41614_IG35: ; bbWeight=16, gcVars=00000000000000000000000000000004 {V1
lw a0, 0xD1FFAB1E(t6)
andi a0, a0, 1
sext.w t6, a0
- bnez t6, G_M41614_IG74
- j G_M41614_IG74
+ beqz t6, G_M41614_IG74
ld a2, -160(fp)
- ;; size=72 bbWeight=16 PerfScore 472.00
-G_M41614_IG36: ; bbWeight=16, gcVars=00000000000000000000000000004004 {V144 V145}, gcrefRegs=A7C1200 {s1 a2 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, gcvars, byref
+ ;; size=68 bbWeight=16 PerfScore 456.00
+G_M41614_IG36: ; bbWeight=16, gcVars=00000000000000000000000000004004 {V144 V145}, gcrefRegs=A7C1200 {s1 a2 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, gcvars, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
slli t6, t6, 13
@@ -1010,7 +998,7 @@ G_M41614_IG36: ; bbWeight=16, gcVars=00000000000000000000000000004004 {V1
sext.w t6, a0
bge t6, zero, G_M41614_IG39
;; size=148 bbWeight=16 PerfScore 1008.00
-G_M41614_IG37: ; bbWeight=8, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref
+G_M41614_IG37: ; bbWeight=8, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}, byrefRegs=0000 {}, byref, isz
beqz s11, G_M41614_IG38
mv a0, s11
; gcrRegs +[a0]
@@ -1026,13 +1014,13 @@ G_M41614_IG37: ; bbWeight=8, gcrefRegs=A7C0200 {s1 s2 s3 s4 s5 s6 s9 s11}
; gcrRegs +[s11]
... -48 (-1.11%) : 65340.dasm - Microsoft.CodeAnalysis.VisualBasic.CommandLineDiagnosticFormatter:Format(Microsoft.CodeAnalysis.Diagnostic,System.IFormatProvider):System.String:this (FullOpts)@@ -253,14 +253,12 @@ G_M52255_IG02: ; bbWeight=1, gcrefRegs=C0200 {s1 s2 s3}, byrefRegs=0000 {
lw s4, -20(fp)
lw s5, -16(fp)
sext.w t6, a0
- bnez t6, G_M52255_IG82
- j G_M52255_IG82
- ;; size=72 bbWeight=1 PerfScore 31.50
+ beqz t6, G_M52255_IG82
+ ;; size=68 bbWeight=1 PerfScore 30.50
G_M52255_IG03: ; bbWeight=0.50, gcrefRegs=C0200 {s1 s2 s3}, byrefRegs=0000 {}, byref, isz
ld a0, -8(fp)
; gcrRegs +[a0]
- bnez a0, G_M52255_IG82
- j G_M52255_IG82
+ beqz a0, G_M52255_IG82
ld a0, -8(fp)
ld a1, -8(fp)
; gcrRegs +[a1]
@@ -273,8 +271,7 @@ G_M52255_IG03: ; bbWeight=0.50, gcrefRegs=C0200 {s1 s2 s3}, byrefRegs=000
addw a1, s4, s5
sext.w ra, a1
sext.w t6, a0
- bge t6, ra, G_M52255_IG82
- j G_M52255_IG82
+ blt t6, ra, G_M52255_IG82
mv a0, s2
; gcrRegs +[a0]
mv a1, s1
@@ -328,7 +325,7 @@ G_M52255_IG03: ; bbWeight=0.50, gcrefRegs=C0200 {s1 s2 s3}, byrefRegs=000
; gcrRegs -[a0 t4]
; byrRegs -[t3]
beqz s1, G_M52255_IG05
- ;; size=212 bbWeight=0.50 PerfScore 37.50
+ ;; size=204 bbWeight=0.50 PerfScore 36.50
G_M52255_IG04: ; bbWeight=0.50, gcrefRegs=40200 {s1 s2}, byrefRegs=0000 {}, byref
lw a2, 0xD1FFAB1E(s1)
addi a1, s1, 0xD1FFAB1E
@@ -355,9 +352,8 @@ G_M52255_IG05: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0000 {},
addiw a2, s1, 0xD1FFAB1E
sext.w ra, a0
sext.w t6, a2
- bltu ra, t6, G_M52255_IG88
- j G_M52255_IG88
- ;; size=40 bbWeight=0.50 PerfScore 7.00
+ bgeu ra, t6, G_M52255_IG88
+ ;; size=36 bbWeight=0.50 PerfScore 6.50
G_M52255_IG06: ; bbWeight=0.31, gcrefRegs=40000 {s2}, byrefRegs=0800 {a1}, byref
; gcrRegs -[s3]
; byrRegs +[a1]
@@ -390,8 +386,7 @@ G_M52255_IG07: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0000 {},
jalr a1 // <unknown method>
mv s6, a0
; gcrRegs +[s6]
- bnez s3, G_M52255_IG93
- j G_M52255_IG93
+ beqz s3, G_M52255_IG93
mv a0, s3
; gcrRegs -[a0]
; byrRegs +[a0]
@@ -410,8 +405,8 @@ G_M52255_IG07: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0000 {},
; gcrRegs +[a1]
mv a0, a1
beqz a0, G_M52255_IG09
- ;; size=96 bbWeight=0.50 PerfScore 18.25
-G_M52255_IG08: ; bbWeight=0.25, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref
+ ;; size=92 bbWeight=0.50 PerfScore 17.75
+G_M52255_IG08: ; bbWeight=0.25, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a1 s6]
mv a1, a0
; gcrRegs +[a1]
@@ -456,8 +451,7 @@ G_M52255_IG10: ; bbWeight=0.50, gcrefRegs=40800 {a1 s2}, byrefRegs=0000 {
jalr a1 // <unknown method>
mv s7, a0
; gcrRegs +[s7]
- bnez s6, G_M52255_IG93
- j G_M52255_IG93
+ beqz s6, G_M52255_IG93
mv a0, s6
; gcrRegs -[a0]
; byrRegs +[a0]
@@ -476,8 +470,8 @@ G_M52255_IG10: ; bbWeight=0.50, gcrefRegs=40800 {a1 s2}, byrefRegs=0000 {
; gcrRegs +[a1]
mv a0, a1
beqz a0, G_M52255_IG12
- ;; size=128 bbWeight=0.50 PerfScore 26.25
-G_M52255_IG11: ; bbWeight=0.25, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref
+ ;; size=124 bbWeight=0.50 PerfScore 25.75
+G_M52255_IG11: ; bbWeight=0.25, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a1 s7]
mv a1, a0
; gcrRegs +[a1]
@@ -509,17 +503,14 @@ G_M52255_IG13: ; bbWeight=0.50, gcrefRegs=40800 {a1 s2}, byrefRegs=0000 {
sd a0, -40(fp)
sd a1, -32(fp)
sext.w t6, s5
- beqz t6, G_M52255_IG80
- j G_M52255_IG80
+ bnez t6, G_M52255_IG80
lw a0, -32(fp)
; gcrRegs -[a0]
sext.w ra, a0
sext.w t6, s1
- beq t6, ra, G_M52255_IG80
- j G_M52255_IG80
+ bne t6, ra, G_M52255_IG80
sext.w t6, s3
- blt zero, t6, G_M52255_IG80
- j G_M52255_IG80
+ bge zero, t6, G_M52255_IG80
addiw s3, s3, 0xD1FFAB1E
ld a0, -8(fp)
; gcrRegs +[a0]
@@ -535,8 +526,7 @@ G_M52255_IG13: ; bbWeight=0.50, gcrefRegs=40800 {a1 s2}, byrefRegs=0000 {
jalr a1 // <unknown method>
mv s7, a0
; gcrRegs +[s7]
- bnez s6, G_M52255_IG93
- j G_M52255_IG93
+ beqz s6, G_M52255_IG93
mv a0, s6
; gcrRegs -[a0]
; byrRegs +[a0]
@@ -555,8 +545,8 @@ G_M52255_IG13: ; bbWeight=0.50, gcrefRegs=40800 {a1 s2}, byrefRegs=0000 {
; gcrRegs +[a1]
mv a0, a1
beqz a0, G_M52255_IG15
- ;; size=180 bbWeight=0.50 PerfScore 39.00
-G_M52255_IG14: ; bbWeight=0.25, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref
+ ;; size=164 bbWeight=0.50 PerfScore 37.00
+G_M52255_IG14: ; bbWeight=0.25, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a1 s7]
mv a1, a0
; gcrRegs +[a1]
@@ -591,10 +581,9 @@ G_M52255_IG16: ; bbWeight=0.50, gcrefRegs=40800 {a1 s2}, byrefRegs=0000 {
; gcrRegs -[a0]
sext.w ra, a0
sext.w t6, s1
- blt ra, t6, G_M52255_IG81
- j G_M52255_IG81
- ;; size=60 bbWeight=0.50 PerfScore 15.75
-G_M52255_IG17: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+ bge ra, t6, G_M52255_IG81
+ ;; size=56 bbWeight=0.50 PerfScore 15.25
+G_M52255_IG17: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
auipc a1, 0xD1FFAB1E
ld a1, 0xD1FFAB1E(a1)
ld s6, 0xD1FFAB1E(s2)
@@ -606,7 +595,7 @@ G_M52255_IG17: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
sext.w t6, a2
bgeu ra, t6, G_M52255_IG19
;; size=36 bbWeight=4 PerfScore 52.00
-G_M52255_IG18: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0800 {a1}, byref
+G_M52255_IG18: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0800 {a1}, byref, isz
; gcrRegs -[s6]
; byrRegs +[a1]
mv a0, s2
@@ -634,14 +623,14 @@ G_M52255_IG19: ; bbWeight=0.75, gcrefRegs=440000 {s2 s6}, byrefRegs=0000
addiw a0, s7, 0xD1FFAB1E
sw a0, 0xD1FFAB1E(s2)
;; size=28 bbWeight=0.75 PerfScore 7.88
-G_M52255_IG20: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG20: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[s6]
; byrRegs -[a2]
ld a0, -40(fp)
; gcrRegs +[a0]
beqz a0, G_M52255_IG24
;; size=8 bbWeight=4 PerfScore 22.00
-G_M52255_IG21: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG21: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0]
ld a0, -40(fp)
; gcrRegs +[a0]
@@ -694,7 +683,7 @@ G_M52255_IG21: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
G_M52255_IG22: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
sext.w a1, zero
;; size=4 bbWeight=2 PerfScore 1.00
-G_M52255_IG23: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG23: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
lw a0, -28(fp)
subw a1, a0, a1
lw a0, -32(fp)
@@ -724,7 +713,7 @@ G_M52255_IG24: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
addi a0, a0, 0xD1FFAB1E
slli a0, a0, 1
;; size=20 bbWeight=2 PerfScore 10.00
-G_M52255_IG25: ; bbWeight=4, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref
+G_M52255_IG25: ; bbWeight=4, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[a0]
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -761,7 +750,7 @@ G_M52255_IG26: ; bbWeight=2.00, gcrefRegs=40400 {a0 s2}, byrefRegs=0000 {
; gcrRegs -[a0]
; byrRegs -[a1]
;; size=40 bbWeight=2.00 PerfScore 25.97
-G_M52255_IG27: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG27: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
auipc a1, 0xD1FFAB1E
ld a1, 0xD1FFAB1E(a1)
ld s6, 0xD1FFAB1E(s2)
@@ -773,7 +762,7 @@ G_M52255_IG27: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
sext.w t6, a2
bgeu ra, t6, G_M52255_IG29
;; size=36 bbWeight=4 PerfScore 52.00
-G_M52255_IG28: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0800 {a1}, byref
+G_M52255_IG28: ; bbWeight=0.50, gcrefRegs=40000 {s2}, byrefRegs=0800 {a1}, byref, isz
; gcrRegs -[s6]
; byrRegs +[a1]
mv a0, s2
@@ -801,7 +790,7 @@ G_M52255_IG29: ; bbWeight=0.75, gcrefRegs=440000 {s2 s6}, byrefRegs=0000
addiw a0, s7, 0xD1FFAB1E
sw a0, 0xD1FFAB1E(s2)
;; size=28 bbWeight=0.75 PerfScore 7.88
-G_M52255_IG30: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG30: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[s6]
; byrRegs -[a2]
sext.w a0, s4
@@ -814,7 +803,7 @@ G_M52255_IG30: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
; gcrRegs +[a0]
beqz a0, G_M52255_IG32
;; size=32 bbWeight=4 PerfScore 68.00
-G_M52255_IG31: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG31: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0]
ld a0, -40(fp)
; gcrRegs +[a0]
@@ -853,7 +842,7 @@ G_M52255_IG31: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
G_M52255_IG32: ; bbWeight=2, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
sext.w a0, zero
;; size=4 bbWeight=2 PerfScore 1.00
-G_M52255_IG33: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG33: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
lw a1, -28(fp)
subw a0, a1, a0
sext.w a0, a0
@@ -865,7 +854,7 @@ G_M52255_IG33: ; bbWeight=4, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byr
sext.w t6, s7
blt t6, ra, G_M52255_IG42
;; size=40 bbWeight=4 PerfScore 38.00
-G_M52255_IG34: ; bbWeight=16, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
+G_M52255_IG34: ; bbWeight=16, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref, isz
ld a0, -8(fp)
; gcrRegs +[a0]
sext.w a1, s6
@@ -907,7 +896,7 @@ G_M52255_IG34: ; bbWeight=16, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, by
sext.w t6, a0
beqz t6, G_M52255_IG38
;; size=136 bbWeight=16 PerfScore 784.00
-G_M52255_IG35: ; bbWeight=8, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, byref
... -48 (-1.09%) : 49522.dasm - System.Security.Cryptography.Asn1.Pkcs7.CertificateChoiceAsn:DecodeCore(byref,System.ReadOnlyMemory`1[byte],byref) (FullOpts)@@ -434,7 +434,7 @@ G_M49407_IG02: ; bbWeight=1, gcrefRegs=0800 {a1}, byrefRegs=40200 {s1 s2}
addi a0, zero, 0xD1FFAB1E
add a0, s2, a0
;; size=28 bbWeight=1 PerfScore 7.00
-G_M49407_IG03: ; bbWeight=1, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref, nogc
+G_M49407_IG03: ; bbWeight=1, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref, nogc, isz
; gcrRegs -[a1]
sd zero, 0xD1FFAB1E(a0)
addi a0, a0, 0xD1FFAB1E
@@ -455,16 +455,15 @@ G_M49407_IG04: ; bbWeight=1, isz, extend
jalr a4 // <unknown method>
; byrRegs -[a0]
sext.w t6, a0
- bnez t6, G_M49407_IG77
- j G_M49407_IG77
+ beqz t6, G_M49407_IG77
lbu s6, -88(fp)
lw s7, -84(fp)
mv s8, zero
; byrRegs +[s8]
sext.w s9, zero
beqz s3, G_M49407_IG12
- ;; size=76 bbWeight=1 PerfScore 29.50
-G_M49407_IG05: ; bbWeight=0.31, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref
+ ;; size=72 bbWeight=1 PerfScore 28.50
+G_M49407_IG05: ; bbWeight=0.31, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref, isz
; byrRegs -[s8]
ld a1, 0xD1FFAB1E(s3)
lw a1, 0xD1FFAB1E(a1)
@@ -474,7 +473,7 @@ G_M49407_IG05: ; bbWeight=0.31, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1
sext.w t6, a1
bnez t6, G_M49407_IG08
;; size=26 bbWeight=0.31 PerfScore 3.12
-G_M49407_IG06: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref
+G_M49407_IG06: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref, isz
mv a1, s3
; gcrRegs +[a1]
lui a0, 0xD1FFAB1E
@@ -508,7 +507,7 @@ G_M49407_IG06: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=116 bbWeight=0.09 PerfScore 3.38
-G_M49407_IG07: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref
+G_M49407_IG07: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref, isz
mv a0, s3
; gcrRegs +[a0]
ld a1, 0xD1FFAB1E(s3)
@@ -522,7 +521,7 @@ G_M49407_IG07: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1
sext.w s9, a1
j G_M49407_IG10
;; size=32 bbWeight=0.09 PerfScore 1.12
-G_M49407_IG08: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref
+G_M49407_IG08: ; bbWeight=0.09, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1 s2}, byref, isz
; byrRegs -[a0 s8]
mv a1, s3
; gcrRegs +[a1]
@@ -570,14 +569,13 @@ G_M49407_IG10: ; bbWeight=0.25, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
zext.w a0, a0
add.uw a1, s5, a0
zext.w a2, s9
- bgeu a2, a1, G_M49407_IG76
- j G_M49407_IG76
- ;; size=36 bbWeight=0.25 PerfScore 2.25
+ bltu a2, a1, G_M49407_IG76
+ ;; size=32 bbWeight=0.25 PerfScore 2.00
G_M49407_IG11: ; bbWeight=0.12, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref
add s8, s8, a0
sext.w s9, s5
;; size=6 bbWeight=0.12 PerfScore 0.12
-G_M49407_IG12: ; bbWeight=1, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref
+G_M49407_IG12: ; bbWeight=1, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref, isz
sext.w t6, s9
bge t6, zero, G_M49407_IG14
;; size=8 bbWeight=1 PerfScore 4.00
@@ -598,7 +596,7 @@ G_M49407_IG13: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=60 bbWeight=0.50 PerfScore 9.00
-G_M49407_IG14: ; bbWeight=1, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref
+G_M49407_IG14: ; bbWeight=1, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref, isz
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
bne t6, ra, G_M49407_IG16
@@ -607,10 +605,9 @@ G_M49407_IG15: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
andi a2, s6, 255
andi a2, a2, 192
sext.w t6, a2
- bnez t6, G_M49407_IG62
- j G_M49407_IG62
- ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M49407_IG16: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref
+ beqz t6, G_M49407_IG62
+ ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M49407_IG16: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref, isz
sext.w t6, s7
bnez t6, G_M49407_IG17
andi a2, s6, 255
@@ -619,7 +616,7 @@ G_M49407_IG16: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
addi ra, zero, 0xD1FFAB1E
beq t6, ra, G_M49407_IG49
;; size=28 bbWeight=0.50 PerfScore 4.75
-G_M49407_IG17: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref
+G_M49407_IG17: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref, isz
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
bne t6, ra, G_M49407_IG18
@@ -629,7 +626,7 @@ G_M49407_IG17: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
addi ra, zero, 0xD1FFAB1E
beq t6, ra, G_M49407_IG36
;; size=32 bbWeight=0.50 PerfScore 5.00
-G_M49407_IG18: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref
+G_M49407_IG18: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {s1 s2 s8}, byref, isz
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
bne t6, ra, G_M49407_IG19
@@ -643,14 +640,12 @@ G_M49407_IG19: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1
; byrRegs -[s8]
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
- beq t6, ra, G_M49407_IG87
- j G_M49407_IG87
+ bne t6, ra, G_M49407_IG87
andi a2, s6, 255
andi a2, a2, 192
sext.w t6, a2
addi ra, zero, 0xD1FFAB1E
- beq t6, ra, G_M49407_IG87
- j G_M49407_IG87
+ bne t6, ra, G_M49407_IG87
sd zero, -40(fp)
addi a2, zero, 0xD1FFAB1E
sb a2, -40(fp)
@@ -674,7 +669,7 @@ G_M49407_IG19: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40200 {s1
jalr a5 // System.Security.Cryptography.Asn1.Pkcs7.OtherCertificateFormat:Decode(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[byte],byref)
; gcrRegs -[a2 s3]
; byrRegs -[s1-a0]
- ;; size=116 bbWeight=0.50 PerfScore 20.00
+ ;; size=108 bbWeight=0.50 PerfScore 19.00
G_M49407_IG20: ; bbWeight=0.50, nogc, extend
ld t3, -32(fp)
ld ra, -24(fp)
@@ -683,7 +678,7 @@ G_M49407_IG20: ; bbWeight=0.50, nogc, extend
ld t3, -16(fp)
sd t3, -48(fp)
;; size=24 bbWeight=0.50 PerfScore 9.00
-G_M49407_IG21: ; bbWeight=0.50, extend
+G_M49407_IG21: ; bbWeight=0.50, isz, extend
addi a0, s2, 0xD1FFAB1E
; byrRegs +[a0]
mv t3, a0
@@ -730,8 +725,7 @@ G_M49407_IG22: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
lw a0, 0xD1FFAB1E(s1)
sext.w ra, s6
sext.w t6, a0
- bgeu t6, ra, G_M49407_IG76
- j G_M49407_IG76
+ bltu t6, ra, G_M49407_IG76
ld s7, 0xD1FFAB1E(s1)
; byrRegs +[s7]
sext.w t6, s6
@@ -751,15 +745,14 @@ G_M49407_IG22: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
srli t6, t6, 18
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
- ;; size=144 bbWeight=0.50 PerfScore 25.00
+ ;; size=140 bbWeight=0.50 PerfScore 24.50
G_M49407_IG23: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1840200 {s1 s2 s7 s8}, byref, isz
lw a0, 0xD1FFAB1E(s1)
sext.w ra, s6
sext.w t6, a0
- bgeu t6, ra, G_M49407_IG76
- j G_M49407_IG76
- ;; size=20 bbWeight=0.50 PerfScore 3.75
-G_M49407_IG24: ; bbWeight=0.38, gcrefRegs=80000 {s3}, byrefRegs=1840200 {s1 s2 s7 s8}, byref
+ bltu t6, ra, G_M49407_IG76
+ ;; size=16 bbWeight=0.50 PerfScore 3.25
+G_M49407_IG24: ; bbWeight=0.38, gcrefRegs=80000 {s3}, byrefRegs=1840200 {s1 s2 s7 s8}, byref, isz
ld a0, 0xD1FFAB1E(s1)
; byrRegs +[a0]
zext.w a1, s6
@@ -810,8 +803,7 @@ G_M49407_IG26: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=5840200 {
zext.w a0, s6
add.uw a0, a1, a0
zext.w a2, s5
- bgeu a2, a0, G_M49407_IG86
- j G_M49407_IG86
+ bltu a2, a0, G_M49407_IG86
addw s1, s4, a1
beqz s3, G_M49407_IG27
mv a1, s3
@@ -863,11 +855,11 @@ G_M49407_IG26: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=5840200 {
srli t6, t6, 18
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
- ;; size=256 bbWeight=0.50 PerfScore 43.75
-G_M49407_IG27: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref
+ ;; size=252 bbWeight=0.50 PerfScore 43.25
+G_M49407_IG27: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref, isz
j G_M49407_IG33
;; size=4 bbWeight=0.50 PerfScore 0.75
-G_M49407_IG28: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=840000 {s2 s7}, byref
+G_M49407_IG28: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=840000 {s2 s7}, byref, isz
; gcrRegs -[s3]
; byrRegs +[s7]
sext.w t6, s6
@@ -902,16 +894,15 @@ G_M49407_IG29: ; bbWeight=0.47, gcrefRegs=0000 {}, byrefRegs=840000 {s2 s
; byrRegs -[a0-a1 s7]
;; size=80 bbWeight=0.47 PerfScore 10.67
G_M49407_IG30: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref, isz
- bnez s3, G_M49407_IG85
- j G_M49407_IG85
- ;; size=8 bbWeight=0.50 PerfScore 2.25
+ beqz s3, G_M49407_IG85
+ ;; size=4 bbWeight=0.50 PerfScore 1.75
G_M49407_IG31: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref
lw s6, 0xD1FFAB1E(s3)
;; size=4 bbWeight=0.50 PerfScore 1.00
G_M49407_IG32: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref
sext.w s1, zero
;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M49407_IG33: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref
+G_M49407_IG33: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=40000 {s2}, byref, isz
addi a0, s2, 0xD1FFAB1E
; byrRegs +[a0]
addi t3, zero, 0xD1FFAB1E
@@ -939,10 +930,9 @@ G_M49407_IG34: ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=40000 {s2},
lw a0, 0xD1FFAB1E(t6)
andi a0, a0, 1
sext.w t6, a0
- bnez t6, G_M49407_IG84
- j G_M49407_IG84
- ;; size=44 bbWeight=0.03 PerfScore 0.45
-G_M49407_IG35: ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=40000 {s2}, byref
+ beqz t6, G_M49407_IG84
+ ;; size=40 bbWeight=0.03 PerfScore 0.42
+G_M49407_IG35: ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=40000 {s2}, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
slli t6, t6, 22
@@ -970,8 +960,7 @@ G_M49407_IG36: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
lw a0, 0xD1FFAB1E(s1)
sext.w ra, s6
sext.w t6, a0
- bgeu t6, ra, G_M49407_IG76
- j G_M49407_IG76
+ bltu t6, ra, G_M49407_IG76
ld s7, 0xD1FFAB1E(s1)
; byrRegs +[s7]
sext.w t6, s6
@@ -991,14 +980,14 @@ G_M49407_IG36: ; bbWeight=0.50, gcrefRegs=80000 {s3}, byrefRegs=1040200 {
... +0 (0.00%) : 337280.dasm - GCTest.GCTestC:LoadData(int):this (FullOpts)@@ -170,7 +170,7 @@ G_M42005_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
sd zero, -40(fp)
sw a1, -4(fp)
;; size=52 bbWeight=1 PerfScore 45.00
-G_M42005_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
fence 3, 3
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
@@ -182,7 +182,7 @@ G_M42005_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
sext.w t6, a0
beqz t6, G_M42005_IG38
;; size=40 bbWeight=1 PerfScore 16.50
-G_M42005_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
slli t6, t6, 12
@@ -255,7 +255,7 @@ G_M42005_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
sext.w t6, a1
beqz t6, G_M42005_IG05
;; size=232 bbWeight=1 PerfScore 91.50
-G_M42005_IG04: ; bbWeight=0.47, gcrefRegs=0400 {a0}, byrefRegs=0000 {}, byref
+G_M42005_IG04: ; bbWeight=0.47, gcrefRegs=0400 {a0}, byrefRegs=0000 {}, byref, isz
addi a1, a0, 0xD1FFAB1E
; byrRegs +[a1]
lw a2, 0xD1FFAB1E(a0)
@@ -294,7 +294,7 @@ G_M42005_IG05: ; bbWeight=0.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
addi s1, s1, 0xD1FFAB1E
slli s1, s1, 2
;; size=20 bbWeight=0.49 PerfScore 2.44
-G_M42005_IG06: ; bbWeight=1, gcrefRegs=0200 {s1}, byrefRegs=0000 {}, byref
+G_M42005_IG06: ; bbWeight=1, gcrefRegs=0200 {s1}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[s1]
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -310,7 +310,7 @@ G_M42005_IG06: ; bbWeight=1, gcrefRegs=0200 {s1}, byrefRegs=0000 {}, byre
; gcrRegs +[s2]
beqz s1, G_M42005_IG37
;; size=40 bbWeight=1 PerfScore 14.00
-G_M42005_IG07: ; bbWeight=0.65, gcrefRegs=40200 {s1 s2}, byrefRegs=0000 {}, byref
+G_M42005_IG07: ; bbWeight=0.65, gcrefRegs=40200 {s1 s2}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[a0]
lw a0, 0xD1FFAB1E(s1)
sext.w t6, a0
@@ -485,11 +485,11 @@ G_M42005_IG08: ; bbWeight=1, gcVars=0000001002400000 {V02 V03 V05}, gcref
; gcrRegs -[s1-a1]
; gcr arg pop 0
;; size=120 bbWeight=1 PerfScore 50.50
-G_M42005_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc
+G_M42005_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc, isz
jal G_M42005_IG44
nop
;; size=8 bbWeight=1 PerfScore 2.00
-G_M42005_IG10: ; bbWeight=1, gcVars=0000000002400000 {V02 V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG10: ; bbWeight=1, gcVars=0000000002400000 {V02 V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V05}
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -526,7 +526,7 @@ G_M42005_IG10: ; bbWeight=1, gcVars=0000000002400000 {V02 V03}, gcrefRegs
sd a0, -48(fp)
; GC ptr vars +{V06}
;; size=92 bbWeight=1 PerfScore 47.50
-G_M42005_IG11: ; bbWeight=1, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG11: ; bbWeight=1, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[a0]
; GC ptr vars -{V03}
fence 3, 3
@@ -550,7 +550,7 @@ G_M42005_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; GC ptr vars +{V87}
sd zero, 0xD1FFAB1E(s1)
;; size=24 bbWeight=1 PerfScore 13.00
-G_M42005_IG13: ; bbWeight=1, gcVars=0000000000500040 {V02 V06 V87}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG13: ; bbWeight=1, gcVars=0000000000500040 {V02 V06 V87}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[s1]
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -576,7 +576,7 @@ G_M42005_IG13: ; bbWeight=1, gcVars=0000000000500040 {V02 V06 V87}, gcref
beqz t6, G_M42005_IG25
j G_M42005_IG28
;; size=80 bbWeight=1 PerfScore 31.50
-G_M42005_IG14: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG14: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V87}
mv a0, zero
lui t6, 0xD1FFAB1E
@@ -778,7 +778,7 @@ G_M42005_IG14: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs
G_M42005_IG15: ; bbWeight=2, gcVars=0000000000400048 {V02 V06 V95}, gcrefRegs=40000 {s2}, byrefRegs=0000 {}, gcvars, byref
ld s3, 0xD1FFAB1E(s2)
;; size=4 bbWeight=2 PerfScore 4.00
-G_M42005_IG16: ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG16: ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[s2]
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -803,7 +803,7 @@ G_M42005_IG16: ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
sext.w t6, a0
bnez t6, G_M42005_IG29
;; size=78 bbWeight=2 PerfScore 64.00
-G_M42005_IG17: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG17: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[s2]
; GC ptr vars -{V95}
lui t6, 0xD1FFAB1E
@@ -818,7 +818,7 @@ G_M42005_IG17: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs
sext.w t6, a0
beqz t6, G_M42005_IG19
;; size=36 bbWeight=8 PerfScore 144.00
-G_M42005_IG18: ; bbWeight=3.96, gcVars=0000000000400044 {V02 V06 V97}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG18: ; bbWeight=3.96, gcVars=0000000000400044 {V02 V06 V97}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[s2]
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -841,7 +841,7 @@ G_M42005_IG18: ; bbWeight=3.96, gcVars=0000000000400044 {V02 V06 V97}, gc
sext.w t6, a0
bnez t6, G_M42005_IG30
;; size=70 bbWeight=3.96 PerfScore 94.93
-G_M42005_IG19: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG19: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[s2]
; GC ptr vars -{V02 V97}
fcvt.d.l fs6, s3
@@ -854,7 +854,7 @@ G_M42005_IG19: ; bbWeight=8, gcVars=0000000000400040 {V02 V06}, gcrefRegs
sext.w t6, a0
beqz t6, G_M42005_IG31
;; size=36 bbWeight=8 PerfScore 156.00
-G_M42005_IG20: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG20: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
slli t6, t6, 12
@@ -875,7 +875,7 @@ G_M42005_IG20: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ld a1, -16(fp)
bge a1, a0, G_M42005_IG24
;; size=72 bbWeight=8 PerfScore 248.00
-G_M42005_IG21: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG21: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
slli t6, t6, 22
@@ -888,7 +888,7 @@ G_M42005_IG21: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
sext.w t6, a0
beqz t6, G_M42005_IG23
;; size=36 bbWeight=4 PerfScore 72.00
-G_M42005_IG22: ; bbWeight=3.96, gcVars=0000000000401040 {V02 V06 V99}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG22: ; bbWeight=3.96, gcVars=0000000000401040 {V02 V06 V99}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[s2]
; GC ptr vars +{V02}
lui a0, 0xD1FFAB1E
@@ -938,13 +938,13 @@ G_M42005_IG23: ; bbWeight=4, gcVars=0000000000400040 {V02 V06}, gcrefRegs
G_M42005_IG24: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
addiw s1, s1, 0xD1FFAB1E
;; size=4 bbWeight=8 PerfScore 4.00
-G_M42005_IG25: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG25: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lw a1, -4(fp)
sext.w ra, s1
sext.w t6, a1
blt ra, t6, G_M42005_IG14
;; size=16 bbWeight=8 PerfScore 52.00
-G_M42005_IG26: ; bbWeight=1, gcVars=0000000000000040 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG26: ; bbWeight=1, gcVars=0000000000000040 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V02}
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -995,7 +995,7 @@ G_M42005_IG26: ; bbWeight=1, gcVars=0000000000000040 {V06}, gcrefRegs=000
; gcr arg pop 0
j G_M42005_IG34
;; size=148 bbWeight=1 PerfScore 51.00
-G_M42005_IG27: ; bbWeight=0, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG27: ; bbWeight=0, gcVars=0000000000400040 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars +{V02}
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -1011,7 +1011,7 @@ G_M42005_IG27: ; bbWeight=0, gcVars=0000000000400040 {V02 V06}, gcrefRegs
; gcr arg pop 0
j G_M42005_IG12
;; size=48 bbWeight=0 PerfScore 0.00
-G_M42005_IG28: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG28: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
slli a0, a0, 16
@@ -1019,7 +1019,7 @@ G_M42005_IG28: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
j G_M42005_IG25
;; size=20 bbWeight=0 PerfScore 0.00
-G_M42005_IG29: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG29: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
slli a0, a0, 16
@@ -1027,7 +1027,7 @@ G_M42005_IG29: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
j G_M42005_IG17
;; size=20 bbWeight=0 PerfScore 0.00
-G_M42005_IG30: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG30: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
slli a0, a0, 16
@@ -1035,7 +1035,7 @@ G_M42005_IG30: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
j G_M42005_IG19
;; size=20 bbWeight=0 PerfScore 0.00
-G_M42005_IG31: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG31: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
slli a0, a0, 15
@@ -1049,7 +1049,7 @@ G_M42005_IG31: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
j G_M42005_IG20
;; size=44 bbWeight=0 PerfScore 0.00
-G_M42005_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
slli a0, a0, 16
@@ -1069,7 +1069,7 @@ G_M42005_IG33: ; bbWeight=0, gcVars=0000000000000040 {V06}, gcrefRegs=000
; gcr arg pop 0
ebreak
;; size=32 bbWeight=0 PerfScore 0.00
-G_M42005_IG34: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG34: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
ld a1, -48(fp)
; gcrRegs +[a1]
sb zero, 0xD1FFAB1E(a1)
@@ -1135,7 +1135,7 @@ G_M42005_IG37: ; bbWeight=0.35, gcVars=0000000000000000 {}, gcrefRegs=020
; gcr arg pop 0
ebreak
;; size=88 bbWeight=0.35 PerfScore 9.32
-G_M42005_IG38: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42005_IG38: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
slli a0, a0, 14
@@ -1242,21 +1242,21 @@ G_M42005_IG44: ; bbWeight=1.00, gcVars=0000001002400000 {V02 V03 V05}, gc
sd s4, 40(sp)
fsd fs6, 48(sp)
;; size=32 bbWeight=1.00 PerfScore 28.50
-G_M42005_IG45: ; bbWeight=1.00, gcVars=0000001002400000 {V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M42005_IG45: ; bbWeight=1.00, gcVars=0000001002400000 {V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
ld a0, -40(fp)
; gcrRegs +[a0]
lbu a1, 0xD1FFAB1E(a0)
sext.w t6, a1
bnez t6, G_M42005_IG59
;; size=16 bbWeight=1.00 PerfScore 9.00
-G_M42005_IG46: ; bbWeight=0.53, gcrefRegs=0400 {a0}, byrefRegs=0000 {}, byref
... +0 (0.00%) : 336416.dasm - JIT.HardwareIntrinsics.X86._Avx512BW.ImmUnaryOpTest__ShiftLeftLogical128BitLaneByte1:ValidateResult(byte[],byte[],System.String):this (FullOpts)@@ -192,7 +192,7 @@ G_M54748_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mv s2, a3
; gcrRegs +[s2]
;; size=84 bbWeight=1 PerfScore 59.50
-G_M54748_IG02: ; bbWeight=1, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG02: ; bbWeight=1, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
mv a0, zero
lw s5, 0xD1FFAB1E(s1)
sext.w a1, s5
@@ -202,7 +202,7 @@ G_M54748_IG02: ; bbWeight=1, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=00
sext.w t6, a0
bnez t6, G_M54748_IG07
;; size=32 bbWeight=1 PerfScore 14.00
-G_M54748_IG03: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG03: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
addi s6, zero, 0xD1FFAB1E
fence 3, 3
lui t6, 0xD1FFAB1E
@@ -215,7 +215,7 @@ G_M54748_IG03: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
sext.w t6, a0
beqz t6, G_M54748_IG31
;; size=44 bbWeight=0.50 PerfScore 8.50
-G_M54748_IG04: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG04: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
lui t6, 0xD1FFAB1E
addiw t6, t6, 0xD1FFAB1E
slli t6, t6, 12
@@ -226,12 +226,12 @@ G_M54748_IG04: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
addi ra, zero, 0xD1FFAB1E
bge ra, t6, G_M54748_IG30
;; size=36 bbWeight=0.50 PerfScore 5.75
-G_M54748_IG05: ; bbWeight=4, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG05: ; bbWeight=4, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
andi a1, s6, 15
sext.w t6, a1
bnez t6, G_M54748_IG28
;; size=12 bbWeight=4 PerfScore 18.00
-G_M54748_IG06: ; bbWeight=2, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG06: ; bbWeight=2, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
sext.w a1, s5
sext.w a2, s6
bgeu a2, a1, G_M54748_IG40
@@ -242,7 +242,7 @@ G_M54748_IG06: ; bbWeight=2, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=00
sext.w t6, a1
beqz t6, G_M54748_IG29
;; size=28 bbWeight=2 PerfScore 24.00
-G_M54748_IG07: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG07: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
sd zero, -40(fp)
addi a0, zero, 0xD1FFAB1E
addi a1, zero, 0xD1FFAB1E
@@ -275,7 +275,7 @@ G_M54748_IG07: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
lw a0, 0xD1FFAB1E(a0)
; gcrRegs -[a0]
;; size=104 bbWeight=0.50 PerfScore 20.25
-G_M54748_IG08: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0800 {a1}, byref
+G_M54748_IG08: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0800 {a1}, byref, isz
sd a1, -16(fp)
sw a0, -8(fp)
sw zero, -24(fp)
@@ -315,7 +315,7 @@ G_M54748_IG08: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
jalr a2 // <unknown method>
; gcr arg pop 0
;; size=132 bbWeight=0.50 PerfScore 28.50
-G_M54748_IG09: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref
+G_M54748_IG09: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref, isz
sext.w t6, s6
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M54748_IG33
@@ -331,7 +331,7 @@ G_M54748_IG10: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=36 bbWeight=0.50 PerfScore 9.21
-G_M54748_IG11: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG11: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s5]
lw a0, -24(fp)
lw a1, -8(fp)
@@ -364,7 +364,7 @@ G_M54748_IG11: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
jalr a2 // <unknown method>
; gcr arg pop 0
;; size=104 bbWeight=0.50 PerfScore 17.00
-G_M54748_IG12: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref
+G_M54748_IG12: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref, isz
sext.w t6, s6
beqz t6, G_M54748_IG34
;; size=8 bbWeight=0.50 PerfScore 2.00
@@ -375,7 +375,7 @@ G_M54748_IG13: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=20 bbWeight=0.50 PerfScore 5.49
-G_M54748_IG14: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG14: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s5]
lbu a0, -20(fp)
sext.w t6, a0
@@ -411,7 +411,7 @@ G_M54748_IG14: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
jalr a2 // <unknown method>
; gcr arg pop 0
;; size=116 bbWeight=0.50 PerfScore 20.50
-G_M54748_IG15: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref
+G_M54748_IG15: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref, isz
sext.w t6, s6
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M54748_IG35
@@ -434,7 +434,7 @@ G_M54748_IG16: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=52 bbWeight=0.50 PerfScore 9.21
-G_M54748_IG17: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG17: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
lw a0, -24(fp)
lw a1, -8(fp)
sext.w ra, a0
@@ -466,7 +466,7 @@ G_M54748_IG17: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
jalr a2 // <unknown method>
; gcr arg pop 0
;; size=104 bbWeight=0.50 PerfScore 17.00
-G_M54748_IG18: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref
+G_M54748_IG18: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref, isz
sext.w t6, s6
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M54748_IG36
@@ -489,13 +489,13 @@ G_M54748_IG19: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=52 bbWeight=0.50 PerfScore 9.23
-G_M54748_IG20: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG20: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
lbu a0, -20(fp)
sext.w t6, a0
bnez t6, G_M54748_IG37
beqz s2, G_M54748_IG37
;; size=16 bbWeight=0.50 PerfScore 5.25
-G_M54748_IG21: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG21: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
lw a0, -24(fp)
lw a1, -8(fp)
sext.w ra, a0
@@ -528,7 +528,7 @@ G_M54748_IG21: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
jalr a2 // <unknown method>
; gcr arg pop 0
;; size=108 bbWeight=0.50 PerfScore 17.97
-G_M54748_IG22: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref
+G_M54748_IG22: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=200000 {s5}, byref, isz
lw s7, 0xD1FFAB1E(s2)
sext.w ra, s7
sext.w t6, s6
@@ -553,7 +553,7 @@ G_M54748_IG23: ; bbWeight=0.50, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
addw a0, a0, s7
sw a0, -24(fp)
;; size=48 bbWeight=0.50 PerfScore 8.47
-G_M54748_IG24: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG24: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref, isz
lw a0, -24(fp)
lw a1, -8(fp)
sext.w ra, a0
@@ -585,7 +585,7 @@ G_M54748_IG24: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=00
jalr a2 // <unknown method>
; gcr arg pop 0
;; size=104 bbWeight=0.50 PerfScore 17.00
-G_M54748_IG25: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=40000 {s2}, byref
+G_M54748_IG25: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=40000 {s2}, byref, isz
sext.w t6, s5
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M54748_IG39
@@ -601,7 +601,7 @@ G_M54748_IG26: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=40
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=36 bbWeight=0.50 PerfScore 9.23
-G_M54748_IG27: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG27: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s2]
addi a0, fp, -40
lui t6, 0xD1FFAB1E
@@ -726,7 +726,7 @@ G_M54748_IG27: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=00
sb zero, 0xD1FFAB1E(s3)
j G_M54748_IG30
;; size=396 bbWeight=0.50 PerfScore 63.00
-G_M54748_IG28: ; bbWeight=2, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG28: ; bbWeight=2, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[s1 s2 s4]
sext.w a1, s5
sext.w a2, s6
@@ -739,7 +739,7 @@ G_M54748_IG28: ; bbWeight=2, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=00
addi ra, zero, 0xD1FFAB1E
bne t6, ra, G_M54748_IG07
;; size=32 bbWeight=2 PerfScore 25.00
-G_M54748_IG29: ; bbWeight=4, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG29: ; bbWeight=4, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
addiw s6, s6, 0xD1FFAB1E
sext.w ra, s6
sext.w t6, a0
@@ -758,7 +758,7 @@ G_M54748_IG30: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ld fp, 40(sp)
addi sp, sp, 112
ret ;; size=44 bbWeight=1 PerfScore 21.50
-G_M54748_IG31: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, gcvars, byref
+G_M54748_IG31: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[s1 s2-s4]
lui a0, 0xD1FFAB1E
addiw a0, a0, 0xD1FFAB1E
@@ -774,13 +774,13 @@ G_M54748_IG31: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1C0200
; gcr arg pop 0
j G_M54748_IG04
;; size=48 bbWeight=0 PerfScore 0.00
-G_M54748_IG32: ; bbWeight=0, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG32: ; bbWeight=0, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
mv a1, zero
; byrRegs +[a1]
sext.w a0, zero
j G_M54748_IG08
;; size=12 bbWeight=0 PerfScore 0.00
-G_M54748_IG33: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG33: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
; byrRegs -[a1]
addi a0, fp, -40
lui a1, 0xD1FFAB1E
@@ -796,7 +796,7 @@ G_M54748_IG33: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
; gcr arg pop 0
j G_M54748_IG11
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M54748_IG34: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG34: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -811,7 +811,7 @@ G_M54748_IG34: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
; gcr arg pop 0
j G_M54748_IG14
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M54748_IG35: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG35: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -826,7 +826,7 @@ G_M54748_IG35: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
; gcr arg pop 0
j G_M54748_IG17
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M54748_IG36: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
+G_M54748_IG36: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -841,7 +841,7 @@ G_M54748_IG36: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs
; gcr arg pop 0
j G_M54748_IG20
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M54748_IG37: ; bbWeight=0.00, gcrefRegs=1C0200 {s1 s2 s3 s4}, byrefRegs=0000 {}, byref
... +0 (0.00%) : 336016.dasm - JIT.HardwareIntrinsics.X86._Avx512BW.SimdScalarUnaryOpConvertTest__MoveMaskVector256SByte:ValidateResult(sbyte[],int,System.String):this (FullOpts)@@ -204,7 +204,7 @@ G_M62086_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mv s3, a3
; gcrRegs +[s3]
;; size=108 bbWeight=1 PerfScore 83.50
-G_M62086_IG02: ; bbWeight=1, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref
+G_M62086_IG02: ; bbWeight=1, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref, isz
mv a0, s1
; gcrRegs +[a0]
lui t6, 0xD1FFAB1E
@@ -217,7 +217,7 @@ G_M62086_IG02: ; bbWeight=1, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000
zext.w a1, s2
beq a1, a0, G_M62086_IG28
;; size=36 bbWeight=1 PerfScore 13.50
-G_M62086_IG03: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref
+G_M62086_IG03: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=0000 {}, byref, isz
sd zero, -40(fp)
addi a0, zero, 0xD1FFAB1E
addi a1, zero, 0xD1FFAB1E
@@ -250,7 +250,7 @@ G_M62086_IG03: ; bbWeight=0.50, gcrefRegs=180200 {s1 s3 s4}, byrefRegs=00
lw a0, 0xD1FFAB1E(a0)
; gcrRegs -[a0]
;; size=108 bbWeight=0.50 PerfScore 20.50
-G_M62086_IG04: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0800 {a1}, byref
+G_M62086_IG04: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0800 {a1}, byref, isz
sd a1, -16(fp)
sw a0, -8(fp)
sw zero, -24(fp)
@@ -290,7 +290,7 @@ G_M62086_IG04: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=136 bbWeight=0.50 PerfScore 29.50
-G_M62086_IG05: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref
+G_M62086_IG05: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref, isz
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M62086_IG30
@@ -306,7 +306,7 @@ G_M62086_IG06: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=36 bbWeight=0.50 PerfScore 9.21
-G_M62086_IG07: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG07: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s6]
lw a0, -24(fp)
lw a1, -8(fp)
@@ -339,7 +339,7 @@ G_M62086_IG07: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=108 bbWeight=0.50 PerfScore 18.00
-G_M62086_IG08: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref
+G_M62086_IG08: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref, isz
sext.w t6, s7
beqz t6, G_M62086_IG31
;; size=8 bbWeight=0.50 PerfScore 2.00
@@ -350,7 +350,7 @@ G_M62086_IG09: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=20 bbWeight=0.50 PerfScore 5.49
-G_M62086_IG10: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG10: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s6]
lbu a0, -20(fp)
sext.w t6, a0
@@ -386,7 +386,7 @@ G_M62086_IG10: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=120 bbWeight=0.50 PerfScore 21.50
-G_M62086_IG11: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref
+G_M62086_IG11: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref, isz
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M62086_IG32
@@ -402,7 +402,7 @@ G_M62086_IG12: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=36 bbWeight=0.50 PerfScore 9.21
-G_M62086_IG13: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG13: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s6]
lw a0, -24(fp)
lw a1, -8(fp)
@@ -435,7 +435,7 @@ G_M62086_IG13: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=108 bbWeight=0.50 PerfScore 18.00
-G_M62086_IG14: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref
+G_M62086_IG14: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref, isz
sext.w t6, s7
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M62086_IG33
@@ -457,13 +457,13 @@ G_M62086_IG15: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=52 bbWeight=0.50 PerfScore 9.23
-G_M62086_IG16: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG16: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
lbu a0, -20(fp)
sext.w t6, a0
bnez t6, G_M62086_IG34
beqz s3, G_M62086_IG34
;; size=16 bbWeight=0.50 PerfScore 5.25
-G_M62086_IG17: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG17: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
lw a0, -24(fp)
lw a1, -8(fp)
sext.w ra, a0
@@ -495,7 +495,7 @@ G_M62086_IG17: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=108 bbWeight=0.50 PerfScore 17.97
-G_M62086_IG18: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref
+G_M62086_IG18: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=400000 {s6}, byref, isz
lw s8, 0xD1FFAB1E(s3)
sext.w ra, s8
sext.w t6, s7
@@ -519,7 +519,7 @@ G_M62086_IG19: ; bbWeight=0.50, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
addw a0, a0, s8
sw a0, -24(fp)
;; size=48 bbWeight=0.50 PerfScore 8.47
-G_M62086_IG20: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG20: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=0000 {}, byref, isz
lw a0, -24(fp)
lw a1, -8(fp)
sext.w ra, a0
@@ -551,7 +551,7 @@ G_M62086_IG20: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=00
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=108 bbWeight=0.50 PerfScore 18.00
-G_M62086_IG21: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=80000 {s3}, byref
+G_M62086_IG21: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=80000 {s3}, byref, isz
sext.w t6, s6
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M62086_IG35
@@ -567,7 +567,7 @@ G_M62086_IG22: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=80
addiw a0, a0, 0xD1FFAB1E
sw a0, -24(fp)
;; size=36 bbWeight=0.50 PerfScore 9.23
-G_M62086_IG23: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG23: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=0000 {}, byref, isz
; byrRegs -[s3]
addi a0, fp, -40
lui t6, 0xD1FFAB1E
@@ -654,7 +654,7 @@ G_M62086_IG23: ; bbWeight=0.50, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=00
lw a0, 0xD1FFAB1E(a0)
; gcrRegs -[a0]
;; size=288 bbWeight=0.50 PerfScore 49.00
-G_M62086_IG24: ; bbWeight=0.50, gcrefRegs=100000 {s4}, byrefRegs=0800 {a1}, byref
+G_M62086_IG24: ; bbWeight=0.50, gcrefRegs=100000 {s4}, byrefRegs=0800 {a1}, byref, isz
sd a1, -56(fp)
sw a0, -48(fp)
sw zero, -64(fp)
@@ -691,7 +691,7 @@ G_M62086_IG24: ; bbWeight=0.50, gcrefRegs=100000 {s4}, byrefRegs=0800 {a1
ld a2, 0xD1FFAB1E(t6)
jalr a2 // <unknown method>
;; size=124 bbWeight=0.50 PerfScore 26.00
-G_M62086_IG25: ; bbWeight=0.50, gcrefRegs=100000 {s4}, byrefRegs=0200 {s1}, byref
+G_M62086_IG25: ; bbWeight=0.50, gcrefRegs=100000 {s4}, byrefRegs=0200 {s1}, byref, isz
sext.w t6, s3
addi ra, zero, 0xD1FFAB1E
bltu t6, ra, G_M62086_IG38
@@ -767,14 +767,14 @@ G_M62086_IG28: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ld fp, 80(sp)
addi sp, sp, 160
ret ;; size=48 bbWeight=1 PerfScore 23.50
-G_M62086_IG29: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, gcvars, byref
+G_M62086_IG29: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[s1 s3-s5]
mv a1, zero
; byrRegs +[a1]
sext.w a0, zero
j G_M62086_IG04
;; size=12 bbWeight=0 PerfScore 0.00
-G_M62086_IG30: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG30: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
; byrRegs -[a1]
addi a0, fp, -40
lui a1, 0xD1FFAB1E
@@ -789,7 +789,7 @@ G_M62086_IG30: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
jalr a2 // <unknown method>
j G_M62086_IG07
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M62086_IG31: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG31: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -803,7 +803,7 @@ G_M62086_IG31: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
jalr a2 // <unknown method>
j G_M62086_IG10
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M62086_IG32: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG32: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -817,7 +817,7 @@ G_M62086_IG32: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
jalr a2 // <unknown method>
j G_M62086_IG13
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M62086_IG33: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG33: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -831,7 +831,7 @@ G_M62086_IG33: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
jalr a2 // <unknown method>
j G_M62086_IG16
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M62086_IG34: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG34: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
mv a1, s3
; gcrRegs +[a1]
@@ -843,7 +843,7 @@ G_M62086_IG34: ; bbWeight=0.00, gcrefRegs=380200 {s1 s3 s4 s5}, byrefRegs
; gcrRegs -[a1 s3]
j G_M62086_IG20
;; size=32 bbWeight=0.00 PerfScore 0.02
-G_M62086_IG35: ; bbWeight=0.00, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=0000 {}, byref
+G_M62086_IG35: ; bbWeight=0.00, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=0000 {}, byref, isz
addi a0, fp, -40
lui a1, 0xD1FFAB1E
addiw a1, a1, 0xD1FFAB1E
@@ -857,7 +857,7 @@ G_M62086_IG35: ; bbWeight=0.00, gcrefRegs=300200 {s1 s4 s5}, byrefRegs=00
jalr a2 // <unknown method>
j G_M62086_IG23
;; size=48 bbWeight=0.00 PerfScore 0.02
-G_M62086_IG36: ; bbWeight=0, gcrefRegs=100000 {s4}, byrefRegs=0000 {}, byref
+G_M62086_IG36: ; bbWeight=0, gcrefRegs=100000 {s4}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[s1 s5]
mv a1, zero
; byrRegs +[a1]
@@ -876,7 +876,7 @@ G_M62086_IG37: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
jalr a0 // System.ThrowHelper:ThrowArgumentOutOfRangeException()
ebreak
;; size=32 bbWeight=0 PerfScore 0.00
-G_M62086_IG38: ; bbWeight=0.00, gcrefRegs=100000 {s4}, byrefRegs=0000 {}, byref
+G_M62086_IG38: ; bbWeight=0.00, gcrefRegs=100000 {s4}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[s4]
addi a0, fp, -80
lui a1, 0xD1FFAB1E DetailsSize improvements/regressions per collection
PerfScore improvements/regressions per collection
Context information
jit-analyze output |
This was referenced Oct 10, 2025
b050e7b
to
594f834
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
arch-riscv
Related to the RISC-V architecture
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
community-contribution
Indicates that the PR has been added by a community member
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove RISC-V-specific jump distance binding. Re-using common code simplifies the emitter and improves binding accuracy near the limits.
Part of #84834, cc @dotnet/samsung