-
-
Save jakobbotsch/e09b0e75ecfac6934ae51c8902748491 to your computer and use it in GitHub Desktop.
This file contains 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
diff --git "a/.\\out_base.txt" "b/.\\out.txt" | |
index 51300b2..1a4ea1d 100644 | |
--- "a/.\\out_base.txt" | |
+++ "b/.\\out.txt" | |
@@ -1,940 +1,1185 @@ | |
; Assembly listing for method SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.JpegComponentPostProcessor:CopyBlocksToColorBuffer(int):this | |
; Emitting BLENDED_CODE for X64 with AVX512 - Windows | |
; optimized code | |
; rsp based frame | |
; fully interruptible | |
; No matching PGO data | |
; 0 inlinees with PGO data; 73 single block inlinees; 38 inlinees without PGO data | |
; Final local variable assignments | |
; | |
-; V00 this [V00,T13] ( 14, 38 ) ref -> rsi this class-hnd single-def | |
+; V00 this [V00,T12] ( 14, 38 ) ref -> rsi this class-hnd single-def | |
; V01 arg1 [V01,T76] ( 3, 3 ) int -> rdi single-def | |
-; V02 loc0 [V02,T16] ( 7, 35 ) ref -> rbx class-hnd single-def | |
-; V03 loc1 [V03,T108] ( 4, 25 ) float -> mm6 single-def | |
-; V04 loc2 [V04,T18] ( 4, 25 ) int -> rbp single-def | |
+; V02 loc0 [V02,T15] ( 7, 35 ) ref -> rbx class-hnd single-def | |
+; V03 loc1 [V03,T108] ( 4, 25 ) float -> [rsp+2DCH] spill-single-def | |
+; V04 loc2 [V04,T17] ( 4, 25 ) int -> rbp single-def | |
; V05 loc3 [V05,T77] ( 2, 5 ) int -> rdi single-def | |
-; V06 loc4 [V06 ] ( 4, 49 ) struct ( 8) [rsp+2B8H] do-not-enreg[SB] ld-addr-op | |
-; V07 loc5 [V07,T00] ( 9,129 ) struct (256) [rsp+1B8H] do-not-enreg[SF] ld-addr-op | |
-; V08 loc6 [V08 ] ( 42,488 ) struct (256) [rsp+B8H] do-not-enreg[XS] must-init addr-exposed ld-addr-op | |
-; V09 loc7 [V09,T21] ( 6, 21 ) int -> r14 | |
+; V06 loc4 [V06 ] ( 4, 49 ) struct ( 8) [rsp+2D0H] do-not-enreg[SB] ld-addr-op | |
+;* V07 loc5 [V07 ] ( 0, 0 ) struct (256) zero-ref do-not-enreg[SF] ld-addr-op | |
+; V08 loc6 [V08 ] ( 42,488 ) struct (256) [rsp+1D0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op | |
+; V09 loc7 [V09,T20] ( 6, 21 ) int -> r14 | |
; V10 loc8 [V10,T28] ( 7, 18 ) int -> r15 | |
;* V11 loc9 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op | |
;* V12 loc10 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op | |
-; V13 loc11 [V13,T01] ( 7,100 ) int -> [rsp+B4H] | |
-; V14 loc12 [V14,T11] ( 3, 48 ) int -> rcx | |
+; V13 loc11 [V13,T00] ( 7,100 ) int -> [rsp+1CCH] | |
+; V14 loc12 [V14,T10] ( 3, 48 ) int -> rcx | |
; V15 OutArgs [V15 ] ( 1, 1 ) struct (40) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
;* V16 tmp1 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" | |
-; V17 tmp2 [V17,T02] ( 4, 80 ) byref -> rdx "impAppendStmt" | |
-; V18 tmp3 [V18,T05] ( 3, 64 ) int -> r9 "impAppendStmt" | |
+; V17 tmp2 [V17,T01] ( 4, 80 ) byref -> rdx "impAppendStmt" | |
+; V18 tmp3 [V18,T04] ( 3, 64 ) int -> r9 "impAppendStmt" | |
;* V19 tmp4 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" | |
;* V20 tmp5 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" | |
;* V21 tmp6 [V21 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" | |
-; V22 tmp7 [V22,T15] ( 5, 36 ) ref -> r12 class-hnd "Inlining Arg" | |
-; V23 tmp8 [V23,T09] ( 10, 52 ) ref -> rcx class-hnd "impAppendStmt" | |
+; V22 tmp7 [V22,T14] ( 5, 36 ) ref -> r12 class-hnd "Inlining Arg" | |
+; V23 tmp8 [V23,T08] ( 10, 52 ) ref -> rcx class-hnd "impAppendStmt" | |
;* V24 tmp9 [V24 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" | |
;* V25 tmp10 [V25 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" | |
-; V26 tmp11 [V26,T07] ( 14, 60 ) int -> r12 "Inlining Arg" | |
+; V26 tmp11 [V26,T06] ( 14, 60 ) int -> r12 "Inlining Arg" | |
; V27 tmp12 [V27,T92] ( 2, 4 ) int -> r8 ld-addr-op "Inline ldloca(s) first use temp" | |
; V28 tmp13 [V28,T93] ( 2, 4 ) int -> r15 ld-addr-op "Inline ldloca(s) first use temp" | |
-; V29 tmp14 [V29 ] ( 5, 12 ) struct (16) [rsp+A0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
+; V29 tmp14 [V29 ] ( 5, 12 ) struct (16) [rsp+1B8H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
;* V30 tmp15 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V31 tmp16 [V31 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" | |
;* V32 tmp17 [V32 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" | |
;* V33 tmp18 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V34 tmp19 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V35 tmp20 [V35 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" | |
; V36 tmp21 [V36,T30] ( 4, 16 ) ref -> rcx class-hnd "Inlining Arg" | |
;* V37 tmp22 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V38 tmp23 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" | |
; V39 tmp24 [V39,T56] ( 2, 8 ) byref -> r15 "Inlining Arg" | |
;* V40 tmp25 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V41 tmp26 [V41 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V42 tmp27 [V42 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
; V43 tmp28 [V43,T62] ( 2, 8 ) long -> r15 "Inlining Arg" | |
;* V44 tmp29 [V44 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" | |
;* V45 tmp30 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" | |
; V46 tmp31 [V46,T44] ( 3, 12 ) long -> r8 "Inlining Arg" | |
; V47 tmp32 [V47,T45] ( 3, 12 ) long -> r9 "Inlining Arg" | |
; V48 tmp33 [V48,T54] ( 4, 8 ) long -> rax "Inline stloc first use temp" | |
; V49 tmp34 [V49,T63] ( 2, 8 ) long -> r15 "Inlining Arg" | |
; V50 tmp35 [V50,T94] ( 2, 4 ) long -> r15 ld-addr-op "Inline ldloca(s) first use temp" | |
;* V51 tmp36 [V51 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" | |
; V52 tmp37 [V52,T46] ( 3, 12 ) long -> r15 "Inlining Arg" | |
; V53 tmp38 [V53,T47] ( 3, 12 ) long -> r8 "Inlining Arg" | |
; V54 tmp39 [V54,T69] ( 3, 6 ) long -> rax "Inline stloc first use temp" | |
;* V55 tmp40 [V55 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" | |
; V56 tmp41 [V56,T35] ( 6, 12 ) byref -> registers "Inline stloc first use temp" | |
-; V57 tmp42 [V57,T33] ( 7, 14 ) int -> [rsp+9CH] "Inline stloc first use temp" | |
-; V58 tmp43 [V58,T26] ( 9, 18 ) ref -> [rsp+40H] class-hnd spill-single-def "Inline stloc first use temp" | |
+; V57 tmp42 [V57,T33] ( 7, 14 ) int -> [rsp+1B4H] "Inline stloc first use temp" | |
+; V58 tmp43 [V58,T25] ( 9, 18 ) ref -> [rsp+40H] class-hnd spill-single-def "Inline stloc first use temp" | |
;* V59 tmp44 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V60 tmp45 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" | |
-; V61 tmp46 [V61 ] ( 3, 6 ) struct (16) [rsp+88H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
+; V61 tmp46 [V61 ] ( 3, 6 ) struct (16) [rsp+1A0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
; V62 tmp47 [V62,T70] ( 3, 6 ) long -> rcx "Inline stloc first use temp" | |
; V63 tmp48 [V63,T71] ( 3, 6 ) int -> rdx "Inline stloc first use temp" | |
;* V64 tmp49 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" | |
;* V65 tmp50 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" | |
; V66 tmp51 [V66,T57] ( 2, 8 ) byref -> rdx "Inlining Arg" | |
;* V67 tmp52 [V67 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V68 tmp53 [V68 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V69 tmp54 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" | |
;* V70 tmp55 [V70 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V71 tmp56 [V71 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
; V72 tmp57 [V72,T48] ( 3, 12 ) int -> r15 "Inlining Arg" | |
;* V73 tmp58 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
; V74 tmp59 [V74,T58] ( 2, 8 ) byref -> r15 "Inlining Arg" | |
;* V75 tmp60 [V75 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V76 tmp61 [V76 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
-; V77 tmp62 [V77,T14] ( 7, 36 ) int -> r13 "Inlining Arg" | |
-; V78 tmp63 [V78,T10] ( 10, 52 ) ref -> rcx class-hnd "impAppendStmt" | |
+; V77 tmp62 [V77,T13] ( 7, 36 ) int -> r13 "Inlining Arg" | |
+; V78 tmp63 [V78,T09] ( 10, 52 ) ref -> rcx class-hnd "impAppendStmt" | |
;* V79 tmp64 [V79 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" | |
;* V80 tmp65 [V80 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" | |
-; V81 tmp66 [V81,T08] ( 14, 60 ) int -> [rsp+84H] spill-single-def "Inlining Arg" | |
+; V81 tmp66 [V81,T07] ( 14, 60 ) int -> [rsp+19CH] spill-single-def "Inlining Arg" | |
; V82 tmp67 [V82,T95] ( 2, 4 ) int -> r8 ld-addr-op "Inline ldloca(s) first use temp" | |
; V83 tmp68 [V83,T96] ( 2, 4 ) int -> r13 ld-addr-op "Inline ldloca(s) first use temp" | |
-; V84 tmp69 [V84 ] ( 5, 12 ) struct (16) [rsp+70H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
+; V84 tmp69 [V84 ] ( 5, 12 ) struct (16) [rsp+188H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
;* V85 tmp70 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V86 tmp71 [V86 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" | |
;* V87 tmp72 [V87 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" | |
;* V88 tmp73 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V89 tmp74 [V89 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V90 tmp75 [V90 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" | |
; V91 tmp76 [V91,T31] ( 4, 16 ) ref -> rcx class-hnd "Inlining Arg" | |
;* V92 tmp77 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V93 tmp78 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" | |
; V94 tmp79 [V94,T59] ( 2, 8 ) byref -> r13 "Inlining Arg" | |
;* V95 tmp80 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V96 tmp81 [V96 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V97 tmp82 [V97 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
; V98 tmp83 [V98,T64] ( 2, 8 ) long -> r13 "Inlining Arg" | |
;* V99 tmp84 [V99 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" | |
;* V100 tmp85 [V100 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" | |
; V101 tmp86 [V101,T49] ( 3, 12 ) long -> r8 "Inlining Arg" | |
; V102 tmp87 [V102,T50] ( 3, 12 ) long -> r10 "Inlining Arg" | |
; V103 tmp88 [V103,T55] ( 4, 8 ) long -> rax "Inline stloc first use temp" | |
; V104 tmp89 [V104,T65] ( 2, 8 ) long -> r13 "Inlining Arg" | |
; V105 tmp90 [V105,T97] ( 2, 4 ) long -> r13 ld-addr-op "Inline ldloca(s) first use temp" | |
;* V106 tmp91 [V106 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" | |
; V107 tmp92 [V107,T51] ( 3, 12 ) long -> r13 "Inlining Arg" | |
; V108 tmp93 [V108,T52] ( 3, 12 ) long -> r8 "Inlining Arg" | |
; V109 tmp94 [V109,T72] ( 3, 6 ) long -> rax "Inline stloc first use temp" | |
;* V110 tmp95 [V110 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" | |
; V111 tmp96 [V111,T36] ( 6, 12 ) byref -> [rsp+38H] "Inline stloc first use temp" | |
-; V112 tmp97 [V112,T34] ( 7, 14 ) int -> [rsp+6CH] "Inline stloc first use temp" | |
-; V113 tmp98 [V113,T27] ( 9, 18 ) ref -> [rsp+30H] class-hnd spill-single-def "Inline stloc first use temp" | |
+; V112 tmp97 [V112,T34] ( 7, 14 ) int -> [rsp+184H] "Inline stloc first use temp" | |
+; V113 tmp98 [V113,T26] ( 9, 18 ) ref -> [rsp+30H] class-hnd spill-single-def "Inline stloc first use temp" | |
;* V114 tmp99 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
;* V115 tmp100 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" | |
-; V116 tmp101 [V116 ] ( 3, 6 ) struct (16) [rsp+58H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
+; V116 tmp101 [V116 ] ( 3, 6 ) struct (16) [rsp+170H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" | |
; V117 tmp102 [V117,T73] ( 3, 6 ) long -> rcx "Inline stloc first use temp" | |
; V118 tmp103 [V118,T74] ( 3, 6 ) int -> rdx "Inline stloc first use temp" | |
; V119 tmp104 [V119,T41] ( 2, 8 ) ref -> rcx class-hnd "spilling QMark2" | |
;* V120 tmp105 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" | |
;* V121 tmp106 [V121 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" | |
; V122 tmp107 [V122,T60] ( 2, 8 ) byref -> rcx "Inlining Arg" | |
;* V123 tmp108 [V123 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V124 tmp109 [V124 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V125 tmp110 [V125 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V126 tmp111 [V126 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" | |
;* V127 tmp112 [V127 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V128 tmp113 [V128 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
; V129 tmp114 [V129,T53] ( 3, 12 ) int -> r13 "Inlining Arg" | |
;* V130 tmp115 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" | |
; V131 tmp116 [V131,T61] ( 2, 8 ) byref -> r13 "Inlining Arg" | |
;* V132 tmp117 [V132 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
;* V133 tmp118 [V133 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" | |
-; V134 tmp119 [V134,T04] ( 3, 64 ) byref -> [rsp+28H] spill-single-def "Inlining Arg" | |
+; V134 tmp119 [V134,T03] ( 3, 64 ) byref -> [rsp+28H] spill-single-def "Inlining Arg" | |
; V135 tmp120 [V135,T106] ( 9, 72 ) simd32 -> mm1 ld-addr-op "Inline ldloca(s) first use temp" | |
; V136 tmp121 [V136,T107] ( 9, 72 ) simd32 -> mm0 ld-addr-op "Inline ldloca(s) first use temp" | |
;* V137 tmp122 [V137 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V138 tmp123 [V138 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V139 tmp124 [V139 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V140 tmp125 [V140 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V141 tmp126 [V141 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V142 tmp127 [V142 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V143 tmp128 [V143 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V144 tmp129 [V144 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V145 tmp130 [V145 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V146 tmp131 [V146 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V147 tmp132 [V147 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V148 tmp133 [V148 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V149 tmp134 [V149 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V150 tmp135 [V150 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V151 tmp136 [V151 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V152 tmp137 [V152 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V153 tmp138 [V153 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V154 tmp139 [V154 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V155 tmp140 [V155 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V156 tmp141 [V156 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V157 tmp142 [V157 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V158 tmp143 [V158 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V159 tmp144 [V159 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V160 tmp145 [V160 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V161 tmp146 [V161 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V162 tmp147 [V162 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V163 tmp148 [V163 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V164 tmp149 [V164 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V165 tmp150 [V165 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V166 tmp151 [V166 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V167 tmp152 [V167 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V168 tmp153 [V168 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V169 tmp154 [V169 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V170 tmp155 [V170 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V171 tmp156 [V171 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V172 tmp157 [V172 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V173 tmp158 [V173 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V174 tmp159 [V174 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V175 tmp160 [V175 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V176 tmp161 [V176 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V177 tmp162 [V177 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V178 tmp163 [V178 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V179 tmp164 [V179 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V180 tmp165 [V180 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V181 tmp166 [V181 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" | |
;* V182 tmp167 [V182 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" | |
;* V183 tmp168 [V183 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inlining Arg" | |
;* V184 tmp169 [V184 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" | |
;* V185 tmp170 [V185 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" | |
-; V186 tmp171 [V186,T03] ( 4, 80 ) int -> r10 "Inlining Arg" | |
-; V187 tmp172 [V187,T17] ( 3, 33 ) int -> [rsp+2B8H] do-not-enreg[] V06.<Width>k__BackingField(offs=0x00) P-DEP "field V06.<Width>k__BackingField (fldOffset=0x0)" | |
-; V188 tmp173 [V188,T29] ( 2, 17 ) int -> [rsp+2BCH] do-not-enreg[] V06.<Height>k__BackingField(offs=0x04) P-DEP "field V06.<Height>k__BackingField (fldOffset=0x4)" | |
-; V189 tmp174 [V189,T22] ( 2, 20 ) byref -> r15 V11._reference(offs=0x00) P-INDEP "field V11._reference (fldOffset=0x0)" | |
-; V190 tmp175 [V190,T24] ( 2, 20 ) int -> r12 V11._length(offs=0x08) P-INDEP "field V11._length (fldOffset=0x8)" | |
-; V191 tmp176 [V191,T23] ( 2, 20 ) byref -> r13 V12._reference(offs=0x00) P-INDEP "field V12._reference (fldOffset=0x0)" | |
-; V192 tmp177 [V192,T25] ( 2, 20 ) int -> [rsp+54H] spill-single-def V12._length(offs=0x08) P-INDEP "field V12._length (fldOffset=0x8)" | |
+; V186 tmp171 [V186,T02] ( 4, 80 ) int -> r10 "Inlining Arg" | |
+; V187 tmp172 [V187,T16] ( 3, 33 ) int -> [rsp+2D0H] do-not-enreg[] V06.<Width>k__BackingField(offs=0x00) P-DEP "field V06.<Width>k__BackingField (fldOffset=0x0)" | |
+; V188 tmp173 [V188,T29] ( 2, 17 ) int -> [rsp+2D4H] do-not-enreg[] V06.<Height>k__BackingField(offs=0x04) P-DEP "field V06.<Height>k__BackingField (fldOffset=0x4)" | |
+; V189 tmp174 [V189,T21] ( 2, 20 ) byref -> r15 V11._reference(offs=0x00) P-INDEP "field V11._reference (fldOffset=0x0)" | |
+; V190 tmp175 [V190,T23] ( 2, 20 ) int -> r12 V11._length(offs=0x08) P-INDEP "field V11._length (fldOffset=0x8)" | |
+; V191 tmp176 [V191,T22] ( 2, 20 ) byref -> r13 V12._reference(offs=0x00) P-INDEP "field V12._reference (fldOffset=0x0)" | |
+; V192 tmp177 [V192,T24] ( 2, 20 ) int -> [rsp+16CH] spill-single-def V12._length(offs=0x08) P-INDEP "field V12._length (fldOffset=0x8)" | |
; V193 tmp178 [V193,T37] ( 5, 12 ) byref -> r15 V24._reference(offs=0x00) P-INDEP "field V24._reference (fldOffset=0x0)" | |
; V194 tmp179 [V194,T39] ( 5, 12 ) int -> r12 V24._length(offs=0x08) P-INDEP "field V24._length (fldOffset=0x8)" | |
-; V195 tmp180 [V195 ] ( 3, 8 ) ref -> [rsp+A0H] do-not-enreg[X] addr-exposed V29._object(offs=0x00) P-DEP "field V29._object (fldOffset=0x0)" | |
-; V196 tmp181 [V196 ] ( 3, 8 ) int -> [rsp+A8H] do-not-enreg[X] addr-exposed V29._index(offs=0x08) P-DEP "field V29._index (fldOffset=0x8)" | |
-; V197 tmp182 [V197 ] ( 3, 8 ) int -> [rsp+ACH] do-not-enreg[X] addr-exposed V29._length(offs=0x0c) P-DEP "field V29._length (fldOffset=0xc)" | |
+; V195 tmp180 [V195 ] ( 3, 8 ) ref -> [rsp+1B8H] do-not-enreg[X] addr-exposed V29._object(offs=0x00) P-DEP "field V29._object (fldOffset=0x0)" | |
+; V196 tmp181 [V196 ] ( 3, 8 ) int -> [rsp+1C0H] do-not-enreg[X] addr-exposed V29._index(offs=0x08) P-DEP "field V29._index (fldOffset=0x8)" | |
+; V197 tmp182 [V197 ] ( 3, 8 ) int -> [rsp+1C4H] do-not-enreg[X] addr-exposed V29._length(offs=0x0c) P-DEP "field V29._length (fldOffset=0xc)" | |
; V198 tmp183 [V198,T78] ( 2, 4 ) byref -> r13 V30._reference(offs=0x00) P-INDEP "field V30._reference (fldOffset=0x0)" | |
;* V199 tmp184 [V199 ] ( 0, 0 ) int -> zero-ref V30._length(offs=0x08) P-INDEP "field V30._length (fldOffset=0x8)" | |
; V200 tmp185 [V200,T79] ( 2, 4 ) byref -> r15 V33._reference(offs=0x00) P-INDEP "field V33._reference (fldOffset=0x0)" | |
; V201 tmp186 [V201,T98] ( 2, 4 ) int -> r12 V33._length(offs=0x08) P-INDEP "field V33._length (fldOffset=0x8)" | |
; V202 tmp187 [V202,T80] ( 2, 4 ) byref -> r15 V34._reference(offs=0x00) P-INDEP "field V34._reference (fldOffset=0x0)" | |
; V203 tmp188 [V203,T99] ( 2, 4 ) int -> r12 V34._length(offs=0x08) P-INDEP "field V34._length (fldOffset=0x8)" | |
;* V204 tmp189 [V204 ] ( 0, 0 ) byref -> zero-ref V35._reference(offs=0x00) P-INDEP "field V35._reference (fldOffset=0x0)" | |
;* V205 tmp190 [V205 ] ( 0, 0 ) int -> zero-ref V35._length(offs=0x08) P-INDEP "field V35._length (fldOffset=0x8)" | |
; V206 tmp191 [V206,T66] ( 3, 6 ) byref -> rdx V37._reference(offs=0x00) P-INDEP "field V37._reference (fldOffset=0x0)" | |
;* V207 tmp192 [V207 ] ( 0, 0 ) int -> zero-ref V37._length(offs=0x08) P-INDEP "field V37._length (fldOffset=0x8)" | |
;* V208 tmp193 [V208 ] ( 0, 0 ) byref -> zero-ref V38._reference(offs=0x00) P-INDEP "field V38._reference (fldOffset=0x0)" | |
;* V209 tmp194 [V209 ] ( 0, 0 ) int -> zero-ref V38._length(offs=0x08) P-INDEP "field V38._length (fldOffset=0x8)" | |
; V210 tmp195 [V210,T81] ( 2, 4 ) byref -> r15 V40._reference(offs=0x00) P-INDEP "field V40._reference (fldOffset=0x0)" | |
; V211 tmp196 [V211,T100] ( 2, 4 ) int -> r12 V40._length(offs=0x08) P-INDEP "field V40._length (fldOffset=0x8)" | |
;* V212 tmp197 [V212 ] ( 0, 0 ) byref -> zero-ref V55._reference(offs=0x00) P-INDEP "field V55._reference (fldOffset=0x0)" | |
;* V213 tmp198 [V213 ] ( 0, 0 ) int -> zero-ref V55._length(offs=0x08) P-INDEP "field V55._length (fldOffset=0x8)" | |
; V214 tmp199 [V214,T82] ( 2, 4 ) byref -> r13 V59._reference(offs=0x00) P-INDEP "field V59._reference (fldOffset=0x0)" | |
;* V215 tmp200 [V215 ] ( 0, 0 ) int -> zero-ref V59._length(offs=0x08) P-INDEP "field V59._length (fldOffset=0x8)" | |
-; V216 tmp201 [V216 ] ( 2, 4 ) byref -> [rsp+88H] do-not-enreg[X] addr-exposed V61._reference(offs=0x00) P-DEP "field V61._reference (fldOffset=0x0)" | |
-; V217 tmp202 [V217 ] ( 2, 4 ) int -> [rsp+90H] do-not-enreg[X] addr-exposed V61._length(offs=0x08) P-DEP "field V61._length (fldOffset=0x8)" | |
+; V216 tmp201 [V216 ] ( 2, 4 ) byref -> [rsp+1A0H] do-not-enreg[X] addr-exposed V61._reference(offs=0x00) P-DEP "field V61._reference (fldOffset=0x0)" | |
+; V217 tmp202 [V217 ] ( 2, 4 ) int -> [rsp+1A8H] do-not-enreg[X] addr-exposed V61._length(offs=0x08) P-DEP "field V61._length (fldOffset=0x8)" | |
; V218 tmp203 [V218,T83] ( 2, 4 ) byref -> rax V69._reference(offs=0x00) P-INDEP "field V69._reference (fldOffset=0x0)" | |
;* V219 tmp204 [V219 ] ( 0, 0 ) int -> zero-ref V69._length(offs=0x08) P-INDEP "field V69._length (fldOffset=0x8)" | |
; V220 tmp205 [V220,T84] ( 2, 4 ) byref -> r15 V73._reference(offs=0x00) P-INDEP "field V73._reference (fldOffset=0x0)" | |
; V221 tmp206 [V221,T101] ( 2, 4 ) int -> r12 V73._length(offs=0x08) P-INDEP "field V73._length (fldOffset=0x8)" | |
; V222 tmp207 [V222,T38] ( 5, 12 ) byref -> r13 V79._reference(offs=0x00) P-INDEP "field V79._reference (fldOffset=0x0)" | |
; V223 tmp208 [V223,T40] ( 5, 12 ) int -> registers V79._length(offs=0x08) P-INDEP "field V79._length (fldOffset=0x8)" | |
-; V224 tmp209 [V224 ] ( 3, 8 ) ref -> [rsp+70H] do-not-enreg[X] addr-exposed V84._object(offs=0x00) P-DEP "field V84._object (fldOffset=0x0)" | |
-; V225 tmp210 [V225 ] ( 3, 8 ) int -> [rsp+78H] do-not-enreg[X] addr-exposed V84._index(offs=0x08) P-DEP "field V84._index (fldOffset=0x8)" | |
-; V226 tmp211 [V226 ] ( 3, 8 ) int -> [rsp+7CH] do-not-enreg[X] addr-exposed V84._length(offs=0x0c) P-DEP "field V84._length (fldOffset=0xc)" | |
+; V224 tmp209 [V224 ] ( 3, 8 ) ref -> [rsp+188H] do-not-enreg[X] addr-exposed V84._object(offs=0x00) P-DEP "field V84._object (fldOffset=0x0)" | |
+; V225 tmp210 [V225 ] ( 3, 8 ) int -> [rsp+190H] do-not-enreg[X] addr-exposed V84._index(offs=0x08) P-DEP "field V84._index (fldOffset=0x8)" | |
+; V226 tmp211 [V226 ] ( 3, 8 ) int -> [rsp+194H] do-not-enreg[X] addr-exposed V84._length(offs=0x0c) P-DEP "field V84._length (fldOffset=0xc)" | |
; V227 tmp212 [V227,T85] ( 2, 4 ) byref -> rax V85._reference(offs=0x00) P-INDEP "field V85._reference (fldOffset=0x0)" | |
;* V228 tmp213 [V228 ] ( 0, 0 ) int -> zero-ref V85._length(offs=0x08) P-INDEP "field V85._length (fldOffset=0x8)" | |
; V229 tmp214 [V229,T86] ( 2, 4 ) byref -> r13 V88._reference(offs=0x00) P-INDEP "field V88._reference (fldOffset=0x0)" | |
; V230 tmp215 [V230,T102] ( 2, 4 ) int -> rcx V88._length(offs=0x08) P-INDEP "field V88._length (fldOffset=0x8)" | |
; V231 tmp216 [V231,T87] ( 2, 4 ) byref -> r13 V89._reference(offs=0x00) P-INDEP "field V89._reference (fldOffset=0x0)" | |
; V232 tmp217 [V232,T103] ( 2, 4 ) int -> rcx V89._length(offs=0x08) P-INDEP "field V89._length (fldOffset=0x8)" | |
;* V233 tmp218 [V233 ] ( 0, 0 ) byref -> zero-ref V90._reference(offs=0x00) P-INDEP "field V90._reference (fldOffset=0x0)" | |
;* V234 tmp219 [V234 ] ( 0, 0 ) int -> zero-ref V90._length(offs=0x08) P-INDEP "field V90._length (fldOffset=0x8)" | |
; V235 tmp220 [V235,T67] ( 3, 6 ) byref -> rax V92._reference(offs=0x00) P-INDEP "field V92._reference (fldOffset=0x0)" | |
;* V236 tmp221 [V236 ] ( 0, 0 ) int -> zero-ref V92._length(offs=0x08) P-INDEP "field V92._length (fldOffset=0x8)" | |
;* V237 tmp222 [V237 ] ( 0, 0 ) byref -> zero-ref V93._reference(offs=0x00) P-INDEP "field V93._reference (fldOffset=0x0)" | |
;* V238 tmp223 [V238 ] ( 0, 0 ) int -> zero-ref V93._length(offs=0x08) P-INDEP "field V93._length (fldOffset=0x8)" | |
; V239 tmp224 [V239,T88] ( 2, 4 ) byref -> r13 V95._reference(offs=0x00) P-INDEP "field V95._reference (fldOffset=0x0)" | |
; V240 tmp225 [V240,T104] ( 2, 4 ) int -> rax V95._length(offs=0x08) P-INDEP "field V95._length (fldOffset=0x8)" | |
;* V241 tmp226 [V241 ] ( 0, 0 ) byref -> zero-ref V110._reference(offs=0x00) P-INDEP "field V110._reference (fldOffset=0x0)" | |
;* V242 tmp227 [V242 ] ( 0, 0 ) int -> zero-ref V110._length(offs=0x08) P-INDEP "field V110._length (fldOffset=0x8)" | |
; V243 tmp228 [V243,T89] ( 2, 4 ) byref -> rax V114._reference(offs=0x00) P-INDEP "field V114._reference (fldOffset=0x0)" | |
;* V244 tmp229 [V244 ] ( 0, 0 ) int -> zero-ref V114._length(offs=0x08) P-INDEP "field V114._length (fldOffset=0x8)" | |
-; V245 tmp230 [V245 ] ( 2, 4 ) byref -> [rsp+58H] do-not-enreg[X] addr-exposed V116._reference(offs=0x00) P-DEP "field V116._reference (fldOffset=0x0)" | |
-; V246 tmp231 [V246 ] ( 2, 4 ) int -> [rsp+60H] do-not-enreg[X] addr-exposed V116._length(offs=0x08) P-DEP "field V116._length (fldOffset=0x8)" | |
+; V245 tmp230 [V245 ] ( 2, 4 ) byref -> [rsp+170H] do-not-enreg[X] addr-exposed V116._reference(offs=0x00) P-DEP "field V116._reference (fldOffset=0x0)" | |
+; V246 tmp231 [V246 ] ( 2, 4 ) int -> [rsp+178H] do-not-enreg[X] addr-exposed V116._length(offs=0x08) P-DEP "field V116._length (fldOffset=0x8)" | |
; V247 tmp232 [V247,T90] ( 2, 4 ) byref -> rax V126._reference(offs=0x00) P-INDEP "field V126._reference (fldOffset=0x0)" | |
;* V248 tmp233 [V248 ] ( 0, 0 ) int -> zero-ref V126._length(offs=0x08) P-INDEP "field V126._length (fldOffset=0x8)" | |
; V249 tmp234 [V249,T91] ( 2, 4 ) byref -> r13 V130._reference(offs=0x00) P-INDEP "field V130._reference (fldOffset=0x0)" | |
; V250 tmp235 [V250,T105] ( 2, 4 ) int -> r9 V130._length(offs=0x08) P-INDEP "field V130._length (fldOffset=0x8)" | |
-; V251 tmp236 [V251,T68] ( 3, 6 ) ref -> r14 single-def "arr expr" | |
-; V252 tmp237 [V252,T75] ( 3, 6 ) int -> rax "index expr" | |
-; V253 tmp238 [V253,T42] ( 3, 12 ) ref -> rcx "arr expr" | |
-; V254 tmp239 [V254,T43] ( 3, 12 ) ref -> rcx "arr expr" | |
-;* V255 cse0 [V255,T32] ( 0, 0 ) long -> zero-ref "CSE - aggressive" | |
-; V256 cse1 [V256,T06] ( 30, 60 ) ref -> rdx "CSE - aggressive" | |
-; V257 cse2 [V257,T12] ( 3, 48 ) long -> [rsp+48H] spill-single-def "CSE - aggressive" | |
-; V258 rat0 [V258,T19] ( 3, 24 ) int -> r9 "ReplaceWithLclVar is creating a new local variable" | |
-; V259 rat1 [V259,T20] ( 3, 24 ) int -> r10 "ReplaceWithLclVar is creating a new local variable" | |
+; V251 tmp236 [V251,T109] ( 2, 17 ) simd32 -> [rsp+130H] spill-single-def "V07.[000..032)" | |
+; V252 tmp237 [V252,T110] ( 2, 17 ) simd32 -> [rsp+110H] spill-single-def "V07.[032..064)" | |
+; V253 tmp238 [V253,T111] ( 2, 17 ) simd32 -> [rsp+F0H] spill-single-def "V07.[064..096)" | |
+; V254 tmp239 [V254,T112] ( 2, 17 ) simd32 -> [rsp+D0H] spill-single-def "V07.[096..128)" | |
+; V255 tmp240 [V255,T113] ( 2, 17 ) simd32 -> [rsp+B0H] spill-single-def "V07.[128..160)" | |
+; V256 tmp241 [V256,T114] ( 2, 17 ) simd32 -> [rsp+90H] spill-single-def "V07.[160..192)" | |
+; V257 tmp242 [V257,T115] ( 2, 17 ) simd32 -> [rsp+70H] spill-single-def "V07.[192..224)" | |
+; V258 tmp243 [V258,T116] ( 2, 17 ) simd32 -> [rsp+50H] spill-single-def "V07.[224..256)" | |
+; V259 tmp244 [V259,T27] ( 9, 18 ) byref -> rcx single-def "Spilling address for field-by-field copy" | |
+; V260 tmp245 [V260,T68] ( 3, 6 ) ref -> r14 single-def "arr expr" | |
+; V261 tmp246 [V261,T75] ( 3, 6 ) int -> rax "index expr" | |
+; V262 tmp247 [V262,T42] ( 3, 12 ) ref -> rcx "arr expr" | |
+; V263 tmp248 [V263,T43] ( 3, 12 ) ref -> rcx "arr expr" | |
+;* V264 cse0 [V264,T32] ( 0, 0 ) long -> zero-ref "CSE - aggressive" | |
+; V265 cse1 [V265,T05] ( 30, 60 ) ref -> rdx "CSE - aggressive" | |
+; V266 cse2 [V266,T11] ( 3, 48 ) long -> [rsp+48H] spill-single-def "CSE - aggressive" | |
+; V267 rat0 [V267,T18] ( 3, 24 ) int -> r9 "ReplaceWithLclVar is creating a new local variable" | |
+; V268 rat1 [V268,T19] ( 3, 24 ) int -> r10 "ReplaceWithLclVar is creating a new local variable" | |
; | |
-; Lcl frame size = 728 | |
+; Lcl frame size = 904 | |
G_M45848_IG01: ;; offset=0000H | |
push r15 | |
push r14 | |
push r13 | |
push r12 | |
push rdi | |
push rsi | |
push rbp | |
push rbx | |
- sub rsp, 728 | |
+ sub rsp, 904 | |
vzeroupper | |
- vmovaps xmmword ptr [rsp+2C0H], xmm6 | |
- xor eax, eax | |
- mov qword ptr [rsp+58H], rax | |
+ vmovaps xmmword ptr [rsp+370H], xmm6 | |
+ vmovaps xmmword ptr [rsp+360H], xmm7 | |
+ vmovaps xmmword ptr [rsp+350H], xmm8 | |
+ vmovaps xmmword ptr [rsp+340H], xmm9 | |
+ vmovaps xmmword ptr [rsp+330H], xmm10 | |
+ vmovaps xmmword ptr [rsp+320H], xmm11 | |
+ vmovaps xmmword ptr [rsp+310H], xmm12 | |
+ vmovaps xmmword ptr [rsp+300H], xmm13 | |
+ vmovaps xmmword ptr [rsp+2F0H], xmm14 | |
+ vmovaps xmmword ptr [rsp+2E0H], xmm15 | |
vxorps xmm4, xmm4, xmm4 | |
+ vmovdqa xmmword ptr [rsp+170H], xmm4 | |
mov rax, -336 | |
- vmovdqa xmmword ptr [rsp+rax+1B0H], xmm4 | |
- vmovdqa xmmword ptr [rsp+rax+1C0H], xmm4 | |
- vmovdqa xmmword ptr [rsp+rax+1D0H], xmm4 | |
+ vmovdqa xmmword ptr [rsp+rax+2D0H], xmm4 | |
+ vmovdqa xmmword ptr [rsp+rax+2E0H], xmm4 | |
+ vmovdqa xmmword ptr [rsp+rax+2F0H], xmm4 | |
add rax, 48 | |
jne SHORT -5 instr | |
- mov qword ptr [rsp+1B0H], rax | |
mov rsi, rcx | |
mov edi, edx | |
- ;; size=98 bbWeight=1 PerfScore 21.83 | |
-G_M45848_IG02: ;; offset=0062H | |
+ ;; size=173 bbWeight=1 PerfScore 39.58 | |
+G_M45848_IG02: ;; offset=00ADH | |
mov rcx, gword ptr [rsi+10H] | |
mov r11, 0x7FFDA9C90B60 ; code for <unknown method> | |
call [r11]<unknown method> | |
mov rbx, rax | |
mov rcx, gword ptr [rsi+08H] | |
vmovss xmm6, dword ptr [rcx+20H] | |
+ vmovss dword ptr [rsp+2DCH], xmm6 | |
mov rcx, gword ptr [rsi+20H] | |
mov ebp, dword ptr [rcx+10H] | |
imul edi, dword ptr [rsi+28H] | |
mov rcx, gword ptr [rsi+10H] | |
mov r11, 0x7FFDA9C90B68 ; code for <unknown method> | |
call [r11]<unknown method> | |
- mov qword ptr [rsp+2B8H], rax | |
+ mov qword ptr [rsp+2D0H], rax | |
mov rcx, gword ptr [rsi+18H] | |
mov r11, 0x7FFDA9C90B70 ; code for <unknown method> | |
call [r11]<unknown method> | |
mov r14, rax | |
mov rcx, gword ptr [rsi+10H] | |
mov r11, 0x7FFDA9C90B78 ; code for <unknown method> | |
call [r11]<unknown method> | |
cmp eax, dword ptr [r14+08H] | |
jae G_M45848_IG53 | |
- mov edx, eax | |
- shl rdx, 8 | |
- lea rdx, bword ptr [r14+rdx+10H] | |
- lea rcx, bword ptr [rsp+1B8H] | |
- mov r8d, 256 | |
- call CORINFO_HELP_MEMCPY | |
+ mov ecx, eax | |
+ shl rcx, 8 | |
+ lea rcx, bword ptr [r14+rcx+10H] | |
+ vmovups ymm7, ymmword ptr [rcx] | |
+ vmovups ymmword ptr [rsp+130H], ymm7 | |
+ vmovups ymm8, ymmword ptr [rcx+20H] | |
+ vmovups ymmword ptr [rsp+110H], ymm8 | |
+ vmovups ymm9, ymmword ptr [rcx+40H] | |
+ vmovups ymmword ptr [rsp+F0H], ymm9 | |
+ vmovups ymm10, ymmword ptr [rcx+60H] | |
+ vmovups ymmword ptr [rsp+D0H], ymm10 | |
+ vmovups ymm11, ymmword ptr [rcx+80H] | |
+ vmovups ymmword ptr [rsp+B0H], ymm11 | |
+ vmovups ymm12, ymmword ptr [rcx+A0H] | |
+ vmovups ymmword ptr [rsp+90H], ymm12 | |
+ vmovups ymm13, ymmword ptr [rcx+C0H] | |
+ vmovups ymmword ptr [rsp+70H], ymm13 | |
+ vmovups ymm14, ymmword ptr [rcx+E0H] | |
+ vmovups ymmword ptr [rsp+50H], ymm14 | |
xor r14d, r14d | |
cmp dword ptr [rsi+28H], 0 | |
jle G_M45848_IG50 | |
- ;; size=155 bbWeight=1 PerfScore 49.25 | |
-G_M45848_IG03: ;; offset=00FDH | |
+ ;; size=262 bbWeight=1 PerfScore 96.50 | |
+G_M45848_IG03: ;; offset=01B3H | |
mov r15d, r14d | |
imul r15d, dword ptr [rsi+30H] | |
mov r12, gword ptr [rsi+20H] | |
cmp r15d, dword ptr [r12+14H] | |
jb SHORT G_M45848_IG05 | |
;; size=19 bbWeight=4 PerfScore 45.00 | |
-G_M45848_IG04: ;; offset=0110H | |
+G_M45848_IG04: ;; offset=01C6H | |
mov rcx, r12 | |
mov edx, r15d | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=12 bbWeight=2 PerfScore 7.00 | |
-G_M45848_IG05: ;; offset=011CH | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=90 bbWeight=2 PerfScore 51.00 | |
+G_M45848_IG05: ;; offset=0220H | |
mov rcx, gword ptr [r12+08H] | |
mov r12d, dword ptr [r12+10H] | |
cmp byte ptr [rcx], cl | |
vxorps xmm0, xmm0, xmm0 | |
- vmovdqu xmmword ptr [rsp+A0H], xmm0 | |
+ vmovdqu xmmword ptr [rsp+1B8H], xmm0 | |
mov r9d, dword ptr [rcx+38H] | |
dec r9d | |
cmp r9d, 2 | |
ja G_M45848_IG12 | |
mov edx, r9d | |
lea rax, [reloc @RWD00] | |
mov eax, dword ptr [rax+4*rdx] | |
lea r8, G_M45848_IG02 | |
add rax, r8 | |
jmp rax | |
;; size=67 bbWeight=4 PerfScore 71.33 | |
-G_M45848_IG06: ;; offset=015FH | |
+G_M45848_IG06: ;; offset=0263H | |
mov rcx, gword ptr [rcx+20H] | |
test rcx, rcx | |
jne SHORT G_M45848_IG07 | |
xor rdx, rdx | |
jmp SHORT G_M45848_IG08 | |
;; size=13 bbWeight=2 PerfScore 11.00 | |
-G_M45848_IG07: ;; offset=016CH | |
+G_M45848_IG07: ;; offset=0270H | |
lea rdx, bword ptr [rcx+10H] | |
mov ecx, dword ptr [rcx+08H] | |
;; size=7 bbWeight=2 PerfScore 5.00 | |
-G_M45848_IG08: ;; offset=0173H | |
+G_M45848_IG08: ;; offset=0277H | |
imul r15d, r12d | |
movsxd rcx, r15d | |
lea r15, bword ptr [rdx+4*rcx] | |
test r12d, r12d | |
jge SHORT G_M45848_IG09 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
call [<unknown method>] | |
- ;; size=35 bbWeight=2 PerfScore 15.00 | |
-G_M45848_IG09: ;; offset=0196H | |
+ vmovss xmm6, dword ptr [rsp+2DCH] | |
+ vmovups ymm7, ymmword ptr [rsp+130H] | |
+ vmovups ymm8, ymmword ptr [rsp+110H] | |
+ vmovups ymm9, ymmword ptr [rsp+F0H] | |
+ vmovups ymm10, ymmword ptr [rsp+D0H] | |
+ ;; size=80 bbWeight=2 PerfScore 53.00 | |
+G_M45848_IG09: ;; offset=02C7H | |
jmp G_M45848_IG19 | |
;; size=5 bbWeight=2 PerfScore 4.00 | |
-G_M45848_IG10: ;; offset=019BH | |
+G_M45848_IG10: ;; offset=02CCH | |
mov eax, r15d | |
imul eax, r12d | |
cdqe | |
mov rcx, qword ptr [rcx+30H] | |
lea r15, [rcx+4*rax] | |
test r12d, r12d | |
jl G_M45848_IG51 | |
jmp G_M45848_IG19 | |
;; size=31 bbWeight=2 PerfScore 16.50 | |
-G_M45848_IG11: ;; offset=01BAH | |
+G_M45848_IG11: ;; offset=02EBH | |
movsxd r8, r15d | |
movsxd r9, r12d | |
imul r8, r9 | |
movsxd r9, dword ptr [rcx+18H] | |
mov rax, r8 | |
cqo | |
idiv rdx:rax, r9 | |
mov rcx, gword ptr [rcx+28H] | |
cmp eax, dword ptr [rcx+08H] | |
jae G_M45848_IG53 | |
mov edx, eax | |
mov rcx, qword ptr [rcx+8*rdx+10H] | |
imul eax, r9d | |
sub r8d, eax | |
movsxd rdx, r8d | |
lea r15, [rcx+4*rdx] | |
test r12d, r12d | |
jl G_M45848_IG51 | |
jmp G_M45848_IG19 | |
;; size=70 bbWeight=2 PerfScore 179.50 | |
-G_M45848_IG12: ;; offset=0200H | |
+G_M45848_IG12: ;; offset=0331H | |
movsxd r15, r15d | |
movsxd r13, r12d | |
imul r15, r13 | |
movsxd r8, dword ptr [rcx+18H] | |
mov rax, r15 | |
cqo | |
idiv rdx:rax, r8 | |
imul r8, rax | |
sub r15, r8 | |
mov r8d, eax | |
- lea rdx, [rsp+A0H] | |
+ lea rdx, [rsp+1B8H] | |
mov rax, qword ptr [rcx] | |
mov rax, qword ptr [rax+50H] | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [rax]<unknown method> | |
xor r13, r13 | |
xor eax, eax | |
- mov r8, gword ptr [rsp+A0H] | |
+ mov r8, gword ptr [rsp+1B8H] | |
mov gword ptr [rsp+40H], r8 | |
test r8, r8 | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
je G_M45848_IG17 | |
mov rdx, qword ptr [r8] | |
test dword ptr [rdx], 0xFFFFFFFF80000000 | |
- je SHORT G_M45848_IG14 | |
+ je G_M45848_IG14 | |
mov rdx, r8 | |
mov rcx, 0x7FFDAB1DBA78 ; <unknown class> | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [CORINFO_HELP_ISINSTANCEOFARRAY] | |
test rax, rax | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
jne SHORT G_M45848_IG13 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=130 bbWeight=2 PerfScore 206.50 | |
-G_M45848_IG13: ;; offset=0282H | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=368 bbWeight=2 PerfScore 338.50 | |
+G_M45848_IG13: ;; offset=04A1H | |
mov r13, gword ptr [rsp+40H] | |
lea rdx, bword ptr [r13+10H] | |
mov rax, rdx | |
mov edx, dword ptr [r13+08H] | |
mov r13d, edx | |
- jmp SHORT G_M45848_IG16 | |
- ;; size=21 bbWeight=2 PerfScore 12.00 | |
-G_M45848_IG14: ;; offset=0297H | |
+ jmp G_M45848_IG16 | |
+ ;; size=24 bbWeight=2 PerfScore 12.00 | |
+G_M45848_IG14: ;; offset=04B9H | |
mov rdx, r8 | |
mov rcx, 0x7FFDAB2FFE98 ; <unknown class> | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [CORINFO_HELP_ISINSTANCEOFCLASS] | |
test rax, rax | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
jne SHORT G_M45848_IG15 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=43 bbWeight=2 PerfScore 16.50 | |
-G_M45848_IG15: ;; offset=02C2H | |
- lea rdx, [rsp+88H] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=199 bbWeight=2 PerfScore 104.50 | |
+G_M45848_IG15: ;; offset=0580H | |
+ lea rdx, [rsp+1A0H] | |
mov rcx, gword ptr [rsp+40H] | |
mov rax, qword ptr [rcx] | |
mov rax, qword ptr [rax+48H] | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [rax+28H]<unknown method> | |
- mov rax, bword ptr [rsp+88H] | |
+ mov rax, bword ptr [rsp+1A0H] | |
mov r13, rax | |
- mov ecx, dword ptr [rsp+90H] | |
+ mov ecx, dword ptr [rsp+1A8H] | |
mov eax, ecx | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
mov ecx, eax | |
mov rax, r13 | |
mov r13d, ecx | |
- ;; size=51 bbWeight=2 PerfScore 23.50 | |
-G_M45848_IG16: ;; offset=02F5H | |
- mov ecx, dword ptr [rsp+A8H] | |
+ ;; size=129 bbWeight=2 PerfScore 67.50 | |
+G_M45848_IG16: ;; offset=0601H | |
+ mov ecx, dword ptr [rsp+1C0H] | |
and ecx, 0x7FFFFFFF | |
- mov edx, dword ptr [rsp+ACH] | |
+ mov edx, dword ptr [rsp+1C4H] | |
mov r8d, edx | |
add r8, rcx | |
mov r9d, r13d | |
cmp r8, r9 | |
ja G_M45848_IG51 | |
lea rax, bword ptr [rax+4*rcx] | |
mov r13, rax | |
mov eax, edx | |
;; size=47 bbWeight=2 PerfScore 10.50 | |
-G_M45848_IG17: ;; offset=0324H | |
- mov dword ptr [rsp+9CH], eax | |
+G_M45848_IG17: ;; offset=0630H | |
+ mov dword ptr [rsp+1B4H], eax | |
test eax, eax | |
jge SHORT G_M45848_IG18 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=30 bbWeight=2 PerfScore 11.50 | |
-G_M45848_IG18: ;; offset=0342H | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=108 bbWeight=2 PerfScore 55.50 | |
+G_M45848_IG18: ;; offset=069CH | |
mov ecx, r15d | |
mov edx, r12d | |
add rcx, rdx | |
- mov edx, dword ptr [rsp+9CH] | |
+ mov edx, dword ptr [rsp+1B4H] | |
cmp rcx, rdx | |
ja G_M45848_IG51 | |
mov ecx, r15d | |
lea r15, bword ptr [r13+4*rcx] | |
test r12d, r12d | |
jge SHORT G_M45848_IG19 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=57 bbWeight=2 PerfScore 20.00 | |
-G_M45848_IG19: ;; offset=037BH | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=135 bbWeight=2 PerfScore 64.00 | |
+G_M45848_IG19: ;; offset=0723H | |
lea r13d, [rdi+r14] | |
cmp r13d, dword ptr [rbx+14H] | |
jb SHORT G_M45848_IG21 | |
;; size=10 bbWeight=4 PerfScore 18.00 | |
-G_M45848_IG20: ;; offset=0385H | |
+G_M45848_IG20: ;; offset=072DH | |
mov rcx, rbx | |
mov edx, r13d | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=12 bbWeight=2 PerfScore 7.00 | |
-G_M45848_IG21: ;; offset=0391H | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=90 bbWeight=2 PerfScore 51.00 | |
+G_M45848_IG21: ;; offset=0787H | |
mov rcx, gword ptr [rbx+08H] | |
mov r9d, dword ptr [rbx+10H] | |
- mov dword ptr [rsp+84H], r9d | |
+ mov dword ptr [rsp+19CH], r9d | |
cmp byte ptr [rcx], cl | |
vxorps xmm0, xmm0, xmm0 | |
- vmovdqu xmmword ptr [rsp+70H], xmm0 | |
+ vmovdqu xmmword ptr [rsp+188H], xmm0 | |
mov r10d, dword ptr [rcx+38H] | |
dec r10d | |
cmp r10d, 2 | |
ja G_M45848_IG28 | |
mov edx, r10d | |
lea rax, [reloc @RWD12] | |
mov eax, dword ptr [rax+4*rdx] | |
lea r8, G_M45848_IG02 | |
add rax, r8 | |
jmp rax | |
- ;; size=70 bbWeight=4 PerfScore 75.33 | |
-G_M45848_IG22: ;; offset=03D7H | |
+ ;; size=73 bbWeight=4 PerfScore 75.33 | |
+G_M45848_IG22: ;; offset=07D0H | |
mov rcx, gword ptr [rcx+20H] | |
test rcx, rcx | |
jne SHORT G_M45848_IG23 | |
xor rax, rax | |
jmp SHORT G_M45848_IG24 | |
;; size=13 bbWeight=2 PerfScore 11.00 | |
-G_M45848_IG23: ;; offset=03E4H | |
+G_M45848_IG23: ;; offset=07DDH | |
lea rax, bword ptr [rcx+10H] | |
mov ecx, dword ptr [rcx+08H] | |
;; size=7 bbWeight=2 PerfScore 5.00 | |
-G_M45848_IG24: ;; offset=03EBH | |
+G_M45848_IG24: ;; offset=07E4H | |
imul r13d, r9d | |
movsxd r13, r13d | |
shl r13, 7 | |
add r13, rax | |
test r9d, r9d | |
jge SHORT G_M45848_IG25 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
call [<unknown method>] | |
- ;; size=38 bbWeight=2 PerfScore 15.50 | |
-G_M45848_IG25: ;; offset=0411H | |
- mov r9d, dword ptr [rsp+84H] | |
+ vmovss xmm6, dword ptr [rsp+2DCH] | |
+ vmovups ymm7, ymmword ptr [rsp+130H] | |
+ vmovups ymm8, ymmword ptr [rsp+110H] | |
+ vmovups ymm9, ymmword ptr [rsp+F0H] | |
+ vmovups ymm10, ymmword ptr [rsp+D0H] | |
+ ;; size=83 bbWeight=2 PerfScore 53.50 | |
+G_M45848_IG25: ;; offset=0837H | |
+ mov r9d, dword ptr [rsp+19CH] | |
mov eax, r9d | |
mov ecx, eax | |
mov eax, ecx | |
jmp G_M45848_IG36 | |
;; size=20 bbWeight=2 PerfScore 7.50 | |
-G_M45848_IG26: ;; offset=0425H | |
+G_M45848_IG26: ;; offset=084BH | |
mov eax, r13d | |
imul eax, r9d | |
movsxd r13, eax | |
shl r13, 7 | |
add r13, qword ptr [rcx+30H] | |
test r9d, r9d | |
jl G_M45848_IG51 | |
mov ecx, r9d | |
mov eax, ecx | |
jmp G_M45848_IG36 | |
;; size=37 bbWeight=2 PerfScore 19.50 | |
-G_M45848_IG27: ;; offset=044AH | |
+G_M45848_IG27: ;; offset=0870H | |
movsxd r8, r13d | |
movsxd r10, r9d | |
imul r8, r10 | |
movsxd r10, dword ptr [rcx+18H] | |
mov rax, r8 | |
cqo | |
idiv rdx:rax, r10 | |
mov rcx, gword ptr [rcx+28H] | |
cmp eax, dword ptr [rcx+08H] | |
jae G_M45848_IG53 | |
mov edx, eax | |
imul eax, r10d | |
sub r8d, eax | |
movsxd r13, r8d | |
shl r13, 7 | |
add r13, qword ptr [rcx+8*rdx+10H] | |
test r9d, r9d | |
jl G_M45848_IG51 | |
mov ecx, r9d | |
mov eax, ecx | |
jmp G_M45848_IG36 | |
;; size=75 bbWeight=2 PerfScore 182.50 | |
-G_M45848_IG28: ;; offset=0495H | |
+G_M45848_IG28: ;; offset=08BBH | |
movsxd r13, r13d | |
movsxd r10, r9d | |
imul r13, r10 | |
movsxd r8, dword ptr [rcx+18H] | |
mov rax, r13 | |
cqo | |
idiv rdx:rax, r8 | |
imul r8, rax | |
sub r13, r8 | |
mov r8d, eax | |
- lea rdx, [rsp+70H] | |
+ lea rdx, [rsp+188H] | |
mov rax, qword ptr [rcx] | |
mov rax, qword ptr [rax+50H] | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [rax]<unknown method> | |
xor rax, rax | |
xor r8d, r8d | |
- mov r9, gword ptr [rsp+70H] | |
+ mov r9, gword ptr [rsp+188H] | |
mov gword ptr [rsp+30H], r9 | |
test r9, r9 | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
je G_M45848_IG33 | |
mov rcx, qword ptr [r9] | |
test dword ptr [rcx], 0xFFFFFFFF80000000 | |
- je SHORT G_M45848_IG30 | |
+ je G_M45848_IG30 | |
mov rcx, r9 | |
mov rdx, 0x7FFDAB3D4A40 ; <unknown class> | |
cmp qword ptr [rcx], rdx | |
je SHORT G_M45848_IG29 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=118 bbWeight=2 PerfScore 206.00 | |
-G_M45848_IG29: ;; offset=050BH | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=284 bbWeight=2 PerfScore 294.00 | |
+G_M45848_IG29: ;; offset=09D7H | |
mov r9, gword ptr [rsp+30H] | |
lea rax, bword ptr [r9+10H] | |
mov r8d, dword ptr [r9+08H] | |
- jmp SHORT G_M45848_IG32 | |
- ;; size=15 bbWeight=2 PerfScore 11.00 | |
-G_M45848_IG30: ;; offset=051AH | |
+ jmp G_M45848_IG32 | |
+ ;; size=18 bbWeight=2 PerfScore 11.00 | |
+G_M45848_IG30: ;; offset=09E9H | |
mov rdx, r9 | |
mov rcx, 0x7FFDAB3D3970 ; <unknown class> | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [CORINFO_HELP_ISINSTANCEOFCLASS] | |
test rax, rax | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
jne SHORT G_M45848_IG31 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=43 bbWeight=2 PerfScore 16.50 | |
-G_M45848_IG31: ;; offset=0545H | |
- lea rdx, [rsp+58H] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=199 bbWeight=2 PerfScore 104.50 | |
+G_M45848_IG31: ;; offset=0AB0H | |
+ lea rdx, [rsp+170H] | |
mov rcx, gword ptr [rsp+30H] | |
mov rax, qword ptr [rcx] | |
mov rax, qword ptr [rax+48H] | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [rax+28H]<unknown method> | |
- mov rax, bword ptr [rsp+58H] | |
+ mov rax, bword ptr [rsp+170H] | |
mov rcx, rax | |
- mov r8d, dword ptr [rsp+60H] | |
+ mov r8d, dword ptr [rsp+178H] | |
mov eax, r8d | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
mov r8d, eax | |
mov rax, rcx | |
- ;; size=42 bbWeight=2 PerfScore 23.00 | |
-G_M45848_IG32: ;; offset=056FH | |
- mov ecx, dword ptr [rsp+78H] | |
+ ;; size=129 bbWeight=2 PerfScore 67.00 | |
+G_M45848_IG32: ;; offset=0B31H | |
+ mov ecx, dword ptr [rsp+190H] | |
and ecx, 0x7FFFFFFF | |
- mov edx, dword ptr [rsp+7CH] | |
+ mov edx, dword ptr [rsp+194H] | |
mov r9d, edx | |
add r9, rcx | |
mov r8d, r8d | |
cmp r9, r8 | |
ja G_M45848_IG51 | |
shl rcx, 7 | |
add rax, rcx | |
mov bword ptr [rsp+38H], rax | |
mov r8d, edx | |
mov rax, bword ptr [rsp+38H] | |
- ;; size=52 bbWeight=2 PerfScore 14.50 | |
-G_M45848_IG33: ;; offset=05A3H | |
- mov dword ptr [rsp+6CH], r8d | |
+ ;; size=58 bbWeight=2 PerfScore 14.50 | |
+G_M45848_IG33: ;; offset=0B6BH | |
+ mov dword ptr [rsp+184H], r8d | |
test r8d, r8d | |
jge SHORT G_M45848_IG34 | |
mov bword ptr [rsp+38H], rax | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
mov rax, bword ptr [rsp+38H] | |
- ;; size=39 bbWeight=2 PerfScore 15.50 | |
-G_M45848_IG34: ;; offset=05CAH | |
+ ;; size=120 bbWeight=2 PerfScore 59.50 | |
+G_M45848_IG34: ;; offset=0BE3H | |
mov ecx, r13d | |
- mov r9d, dword ptr [rsp+84H] | |
+ mov r9d, dword ptr [rsp+19CH] | |
mov edx, r9d | |
add rcx, rdx | |
- mov edx, dword ptr [rsp+6CH] | |
+ mov edx, dword ptr [rsp+184H] | |
cmp rcx, rdx | |
ja G_M45848_IG51 | |
mov r13d, r13d | |
shl r13, 7 | |
add r13, rax | |
test r9d, r9d | |
jge SHORT G_M45848_IG35 | |
mov rdx, 0x2C5BF000008 | |
mov rcx, rdx | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call [<unknown method>] | |
- ;; size=64 bbWeight=2 PerfScore 19.50 | |
-G_M45848_IG35: ;; offset=060AH | |
- mov r9d, dword ptr [rsp+84H] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
+ ;; size=145 bbWeight=2 PerfScore 63.50 | |
+G_M45848_IG35: ;; offset=0C74H | |
+ mov r9d, dword ptr [rsp+19CH] | |
mov eax, r9d | |
;; size=11 bbWeight=2 PerfScore 2.50 | |
-G_M45848_IG36: ;; offset=0615H | |
+G_M45848_IG36: ;; offset=0C7FH | |
mov r8d, eax | |
- mov dword ptr [rsp+54H], r8d | |
+ mov dword ptr [rsp+16CH], r8d | |
xor eax, eax | |
cmp dword ptr [rbx+10H], 0 | |
jle G_M45848_IG49 | |
- ;; size=20 bbWeight=4 PerfScore 22.00 | |
-G_M45848_IG37: ;; offset=0629H | |
+ ;; size=23 bbWeight=4 PerfScore 22.00 | |
+G_M45848_IG37: ;; offset=0C96H | |
cmp eax, r8d | |
jae G_M45848_IG53 | |
- mov dword ptr [rsp+B4H], eax | |
+ mov dword ptr [rsp+1CCH], eax | |
mov r9d, eax | |
shl r9, 7 | |
add r9, r13 | |
mov bword ptr [rsp+28H], r9 | |
test byte ptr [(reloc 0x7ffdaaede6d1)], 1 ; global ptr | |
je G_M45848_IG52 | |
;; size=44 bbWeight=16 PerfScore 132.00 | |
-G_M45848_IG38: ;; offset=0655H | |
+G_M45848_IG38: ;; offset=0CC2H | |
mov r10, 0x7FFDAAEDECA0 ; data for <unknown class>:<unknown field> | |
mov qword ptr [rsp+48H], r10 | |
cmp byte ptr [r10], 0 | |
je SHORT G_M45848_IG40 | |
;; size=21 bbWeight=16 PerfScore 84.00 | |
-G_M45848_IG39: ;; offset=066AH | |
- lea rcx, [rsp+B8H] | |
+G_M45848_IG39: ;; offset=0CD7H | |
+ lea rcx, [rsp+1D0H] | |
mov rdx, r9 | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm14, ymm8, 1 | |
+ vextractf128 xmm13, ymm9, 1 | |
+ vextractf128 xmm12, ymm10, 1 | |
call [<unknown method>] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm14, 1 | |
+ vinsertf128 ymm9, ymm9, xmm13, 1 | |
+ vinsertf128 ymm10, ymm10, xmm12, 1 | |
jmp SHORT G_M45848_IG41 | |
- ;; size=19 bbWeight=8 PerfScore 46.00 | |
-G_M45848_IG40: ;; offset=067DH | |
- lea rcx, [rsp+B8H] | |
+ ;; size=67 bbWeight=8 PerfScore 174.00 | |
+G_M45848_IG40: ;; offset=0D1AH | |
+ lea rcx, [rsp+1D0H] | |
mov rdx, r9 | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm14, ymm8, 1 | |
+ vextractf128 xmm13, ymm9, 1 | |
+ vextractf128 xmm12, ymm10, 1 | |
call [<unknown method>] | |
- ;; size=17 bbWeight=8 PerfScore 30.00 | |
-G_M45848_IG41: ;; offset=068EH | |
- vmovups ymm0, ymmword ptr [rsp+B8H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+1B8H] | |
- vmovups ymmword ptr [rsp+B8H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+D8H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+1D8H] | |
- vmovups ymmword ptr [rsp+D8H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+F8H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+1F8H] | |
- vmovups ymmword ptr [rsp+F8H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+118H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+218H] | |
- vmovups ymmword ptr [rsp+118H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+138H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+238H] | |
- vmovups ymmword ptr [rsp+138H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+158H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+258H] | |
- vmovups ymmword ptr [rsp+158H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+178H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+278H] | |
- vmovups ymmword ptr [rsp+178H], ymm0 | |
- vmovups ymm0, ymmword ptr [rsp+198H] | |
- vmulps ymm0, ymm0, ymmword ptr [rsp+298H] | |
- vmovups ymmword ptr [rsp+198H], ymm0 | |
- lea rcx, [rsp+B8H] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm14, 1 | |
+ vinsertf128 ymm9, ymm9, xmm13, 1 | |
+ vinsertf128 ymm10, ymm10, xmm12, 1 | |
+ ;; size=65 bbWeight=8 PerfScore 158.00 | |
+G_M45848_IG41: ;; offset=0D5BH | |
+ vmulps ymm0, ymm7, ymmword ptr [rsp+1D0H] | |
+ vmovups ymmword ptr [rsp+1D0H], ymm0 | |
+ vmulps ymm0, ymm8, ymmword ptr [rsp+1F0H] | |
+ vmovups ymmword ptr [rsp+1F0H], ymm0 | |
+ vmulps ymm0, ymm9, ymmword ptr [rsp+210H] | |
+ vmovups ymmword ptr [rsp+210H], ymm0 | |
+ vmulps ymm0, ymm10, ymmword ptr [rsp+230H] | |
+ vmovups ymmword ptr [rsp+230H], ymm0 | |
+ vmovups ymm11, ymmword ptr [rsp+B0H] | |
+ vmulps ymm0, ymm11, ymmword ptr [rsp+250H] | |
+ vmovups ymmword ptr [rsp+250H], ymm0 | |
+ vmovups ymm12, ymmword ptr [rsp+90H] | |
+ vmulps ymm0, ymm12, ymmword ptr [rsp+270H] | |
+ vmovups ymmword ptr [rsp+270H], ymm0 | |
+ vmovups ymm13, ymmword ptr [rsp+70H] | |
+ vmulps ymm0, ymm13, ymmword ptr [rsp+290H] | |
+ vmovups ymmword ptr [rsp+290H], ymm0 | |
+ vmovups ymm14, ymmword ptr [rsp+50H] | |
+ vmulps ymm0, ymm14, ymmword ptr [rsp+2B0H] | |
+ vmovups ymmword ptr [rsp+2B0H], ymm0 | |
+ lea rcx, [rsp+1D0H] | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm11, ymm8, 1 | |
+ vextractf128 xmm12, ymm9, 1 | |
+ vextractf128 xmm13, ymm10, 1 | |
call [<unknown method>] | |
- lea rcx, [rsp+B8H] | |
+ lea rcx, [rsp+1D0H] | |
call [<unknown method>] | |
- lea rcx, [rsp+B8H] | |
+ lea rcx, [rsp+1D0H] | |
call [<unknown method>] | |
mov rcx, qword ptr [rsp+48H] | |
cmp byte ptr [rcx], 0 | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm11, 1 | |
+ vinsertf128 ymm9, ymm9, xmm12, 1 | |
+ vinsertf128 ymm10, ymm10, xmm13, 1 | |
je G_M45848_IG43 | |
- ;; size=272 bbWeight=16 PerfScore 1528.00 | |
-G_M45848_IG42: ;; offset=079EH | |
+ ;; size=278 bbWeight=16 PerfScore 1528.00 | |
+G_M45848_IG42: ;; offset=0E71H | |
vmulss xmm1, xmm6, dword ptr [reloc @RWD24] | |
vroundss xmm1, xmm1, xmm1, 10 | |
vbroadcastss ymm1, ymm1 | |
vbroadcastss ymm0, ymm6 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+B8H] | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+1D0H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+B8H], ymm2 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+D8H] | |
+ vmovups ymmword ptr [rsp+1D0H], ymm2 | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+1F0H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+D8H], ymm2 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+F8H] | |
+ vmovups ymmword ptr [rsp+1F0H], ymm2 | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+210H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+F8H], ymm2 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+118H] | |
+ vmovups ymmword ptr [rsp+210H], ymm2 | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+230H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+118H], ymm2 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+138H] | |
+ vmovups ymmword ptr [rsp+230H], ymm2 | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+250H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+138H], ymm2 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+158H] | |
+ vmovups ymmword ptr [rsp+250H], ymm2 | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+270H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+158H], ymm2 | |
- vaddps ymm2, ymm1, ymmword ptr [rsp+178H] | |
+ vmovups ymmword ptr [rsp+270H], ymm2 | |
+ vaddps ymm2, ymm1, ymmword ptr [rsp+290H] | |
vxorps ymm3, ymm3, ymm3 | |
vmaxps ymm2, ymm2, ymm3 | |
vminps ymm2, ymm2, ymm0 | |
vroundps ymm2, ymm2, 0 | |
- vmovups ymmword ptr [rsp+178H], ymm2 | |
- vaddps ymm1, ymm1, ymmword ptr [rsp+198H] | |
+ vmovups ymmword ptr [rsp+290H], ymm2 | |
+ vaddps ymm1, ymm1, ymmword ptr [rsp+2B0H] | |
vxorps ymm2, ymm2, ymm2 | |
vmaxps ymm1, ymm1, ymm2 | |
vminps ymm1, ymm1, ymm0 | |
vroundps ymm1, ymm1, 0 | |
- vmovups ymmword ptr [rsp+198H], ymm1 | |
+ vmovups ymmword ptr [rsp+2B0H], ymm1 | |
jmp SHORT G_M45848_IG44 | |
;; size=314 bbWeight=8 PerfScore 1381.33 | |
-G_M45848_IG43: ;; offset=08D8H | |
- lea rcx, [rsp+B8H] | |
+G_M45848_IG43: ;; offset=0FABH | |
+ lea rcx, [rsp+1D0H] | |
vmovaps xmm1, xmm6 | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm11, ymm8, 1 | |
+ vextractf128 xmm12, ymm9, 1 | |
+ vextractf128 xmm13, ymm10, 1 | |
call [<unknown method>] | |
- lea rcx, [rsp+B8H] | |
+ lea rcx, [rsp+1D0H] | |
call [SixLabors.ImageSharp.Formats.Jpeg.Components.Block8x8F:RoundInPlace():this] | |
- ;; size=32 bbWeight=8 PerfScore 58.00 | |
-G_M45848_IG44: ;; offset=08F8H | |
- mov eax, dword ptr [rsp+B4H] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm11, 1 | |
+ vinsertf128 ymm9, ymm9, xmm12, 1 | |
+ vinsertf128 ymm10, ymm10, xmm13, 1 | |
+ ;; size=80 bbWeight=8 PerfScore 186.00 | |
+G_M45848_IG44: ;; offset=0FFBH | |
+ mov eax, dword ptr [rsp+1CCH] | |
mov ecx, eax | |
imul ecx, dword ptr [rsi+2CH] | |
cmp ecx, r12d | |
jae G_M45848_IG53 | |
lea rdx, bword ptr [r15+4*rcx] | |
- mov r9d, dword ptr [rsp+2B8H] | |
- mov r10d, dword ptr [rsp+2BCH] | |
- cmp dword ptr [rsp+2B8H], 1 | |
+ mov r9d, dword ptr [rsp+2D0H] | |
+ mov r10d, dword ptr [rsp+2D4H] | |
+ cmp dword ptr [rsp+2D0H], 1 | |
jne SHORT G_M45848_IG46 | |
;; size=52 bbWeight=16 PerfScore 208.00 | |
-G_M45848_IG45: ;; offset=092CH | |
+G_M45848_IG45: ;; offset=102FH | |
cmp r10d, 1 | |
jne SHORT G_M45848_IG46 | |
- lea rcx, [rsp+B8H] | |
+ lea rcx, [rsp+1D0H] | |
mov r8d, ebp | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm11, ymm8, 1 | |
+ vextractf128 xmm12, ymm9, 1 | |
+ vextractf128 xmm13, ymm10, 1 | |
call [SixLabors.ImageSharp.Formats.Jpeg.Components.Block8x8F:Copy1x1Scale(byref,int):this] | |
- jmp SHORT G_M45848_IG48 | |
- ;; size=25 bbWeight=8 PerfScore 56.00 | |
-G_M45848_IG46: ;; offset=0945H | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm11, 1 | |
+ vinsertf128 ymm9, ymm9, xmm12, 1 | |
+ vinsertf128 ymm10, ymm10, xmm13, 1 | |
+ jmp G_M45848_IG48 | |
+ ;; size=76 bbWeight=8 PerfScore 184.00 | |
+G_M45848_IG46: ;; offset=107BH | |
cmp r9d, 2 | |
jne SHORT G_M45848_IG47 | |
cmp r10d, 2 | |
jne SHORT G_M45848_IG47 | |
- lea rcx, [rsp+B8H] | |
+ lea rcx, [rsp+1D0H] | |
mov r8d, ebp | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm11, ymm8, 1 | |
+ vextractf128 xmm12, ymm9, 1 | |
+ vextractf128 xmm13, ymm10, 1 | |
call [SixLabors.ImageSharp.Formats.Jpeg.Components.Block8x8F:Copy2x2Scale(byref,int):this] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm11, 1 | |
+ vinsertf128 ymm9, ymm9, xmm12, 1 | |
+ vinsertf128 ymm10, ymm10, xmm13, 1 | |
jmp SHORT G_M45848_IG48 | |
- ;; size=31 bbWeight=8 PerfScore 66.00 | |
-G_M45848_IG47: ;; offset=0964H | |
+ ;; size=79 bbWeight=8 PerfScore 194.00 | |
+G_M45848_IG47: ;; offset=10CAH | |
mov dword ptr [rsp+20H], r10d | |
- lea rcx, [rsp+B8H] | |
+ lea rcx, [rsp+1D0H] | |
mov r8d, ebp | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmm11, ymm8, 1 | |
+ vextractf128 xmm12, ymm9, 1 | |
+ vextractf128 xmm13, ymm10, 1 | |
call [<unknown method>] | |
- ;; size=22 bbWeight=8 PerfScore 38.00 | |
-G_M45848_IG48: ;; offset=097AH | |
- mov eax, dword ptr [rsp+B4H] | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmm11, 1 | |
+ vinsertf128 ymm9, ymm9, xmm12, 1 | |
+ vinsertf128 ymm10, ymm10, xmm13, 1 | |
+ ;; size=70 bbWeight=8 PerfScore 166.00 | |
+G_M45848_IG48: ;; offset=1110H | |
+ mov eax, dword ptr [rsp+1CCH] | |
inc eax | |
cmp eax, dword ptr [rbx+10H] | |
- mov r8d, dword ptr [rsp+54H] | |
+ mov r8d, dword ptr [rsp+16CH] | |
jl G_M45848_IG37 | |
- ;; size=23 bbWeight=16 PerfScore 100.00 | |
-G_M45848_IG49: ;; offset=0991H | |
+ ;; size=26 bbWeight=16 PerfScore 100.00 | |
+G_M45848_IG49: ;; offset=112AH | |
inc r14d | |
cmp r14d, dword ptr [rsi+28H] | |
jl G_M45848_IG03 | |
;; size=13 bbWeight=4 PerfScore 17.00 | |
-G_M45848_IG50: ;; offset=099EH | |
- vmovaps xmm6, xmmword ptr [rsp+2C0H] | |
+G_M45848_IG50: ;; offset=1137H | |
+ vmovaps xmm6, xmmword ptr [rsp+370H] | |
+ vmovaps xmm7, xmmword ptr [rsp+360H] | |
+ vmovaps xmm8, xmmword ptr [rsp+350H] | |
+ vmovaps xmm9, xmmword ptr [rsp+340H] | |
+ vmovaps xmm10, xmmword ptr [rsp+330H] | |
+ vmovaps xmm11, xmmword ptr [rsp+320H] | |
+ vmovaps xmm12, xmmword ptr [rsp+310H] | |
+ vmovaps xmm13, xmmword ptr [rsp+300H] | |
+ vmovaps xmm14, xmmword ptr [rsp+2F0H] | |
+ vmovaps xmm15, xmmword ptr [rsp+2E0H] | |
vzeroupper | |
- add rsp, 728 | |
+ add rsp, 904 | |
pop rbx | |
pop rbp | |
pop rsi | |
pop rdi | |
pop r12 | |
pop r13 | |
pop r14 | |
pop r15 | |
ret | |
- ;; size=32 bbWeight=1 PerfScore 10.25 | |
-G_M45848_IG51: ;; offset=09BEH | |
+ ;; size=113 bbWeight=1 PerfScore 46.25 | |
+G_M45848_IG51: ;; offset=11A8H | |
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] | |
int3 | |
;; size=7 bbWeight=0 PerfScore 0.00 | |
-G_M45848_IG52: ;; offset=09C5H | |
+G_M45848_IG52: ;; offset=11AFH | |
mov rcx, 0x7FFDAAEDE678 | |
mov edx, 41 | |
+ vextractf128 xmm15, ymm7, 1 | |
+ vextractf128 xmmword ptr [rsp+120H], ymm8, 1 | |
+ vextractf128 xmmword ptr [rsp+100H], ymm9, 1 | |
+ vextractf128 xmmword ptr [rsp+E0H], ymm10, 1 | |
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE | |
+ vinsertf128 ymm7, ymm7, xmm15, 1 | |
+ vinsertf128 ymm8, ymm8, xmmword ptr [rsp+120H], 1 | |
+ vinsertf128 ymm9, ymm9, xmmword ptr [rsp+100H], 1 | |
+ vinsertf128 ymm10, ymm10, xmmword ptr [rsp+E0H], 1 | |
mov r9, bword ptr [rsp+28H] | |
jmp G_M45848_IG38 | |
- ;; size=30 bbWeight=0 PerfScore 0.00 | |
-G_M45848_IG53: ;; offset=09E3H | |
+ ;; size=108 bbWeight=0 PerfScore 0.00 | |
+G_M45848_IG53: ;; offset=121BH | |
call CORINFO_HELP_RNGCHKFAIL | |
int3 | |
;; size=6 bbWeight=0 PerfScore 0.00 | |
-RWD00 dd 000000FDh ; case G_M45848_IG06 | |
- dd 00000139h ; case G_M45848_IG10 | |
- dd 00000158h ; case G_M45848_IG11 | |
-RWD12 dd 00000375h ; case G_M45848_IG22 | |
- dd 000003C3h ; case G_M45848_IG26 | |
- dd 000003E8h ; case G_M45848_IG27 | |
+RWD00 dd 000001B6h ; case G_M45848_IG06 | |
+ dd 0000021Fh ; case G_M45848_IG10 | |
+ dd 0000023Eh ; case G_M45848_IG11 | |
+RWD12 dd 00000723h ; case G_M45848_IG22 | |
+ dd 0000079Eh ; case G_M45848_IG26 | |
+ dd 000007C3h ; case G_M45848_IG27 | |
RWD24 dd 3F000000h ; 0.5 | |
-; Total bytes of code 2537, prolog size 98, PerfScore 5406.03, instruction count 545, allocated bytes for code 2537 (MethodHash=357d4ce7) for method SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.JpegComponentPostProcessor:CopyBlocksToColorBuffer(int):this | |
+; Total bytes of code 4641, prolog size 173, PerfScore 7309.43, instruction count 781, allocated bytes for code 4641 (MethodHash=357d4ce7) for method SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.JpegComponentPostProcessor:CopyBlocksToColorBuffer(int):this | |
; ============================================================ | |
Using jit(C:\dev\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root\clrjit.dll) with input (C:\dev\dotnet\spmi\mch\88398e9f-093a-4212-85bc-bebb8c14cd24.windows.x64\realworld.run.windows.x64.checked.mch) | |
indexCount=1 (16884) | |
-Jit startup took 3.992300ms | |
+Jit startup took 3.713700ms | |
Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Missing 0 | |
-Total time: 32.757600ms | |
+Total time: 33.811400ms |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment