Skip to content

Instantly share code, notes, and snippets.

@WinCPP
Created June 7, 2018 05:01
Show Gist options
  • Save WinCPP/2c3a70489b50e328f1a94858972e7291 to your computer and use it in GitHub Desktop.
Save WinCPP/2c3a70489b50e328f1a94858972e7291 to your computer and use it in GitHub Desktop.
; Assembly listing for method System.Numerics.Tests.GenericVectorTests:TestConstructorArrayWithCountException():this
; Emitting BLENDED_CODE for X64 CPU with AVX
; debuggable code
; rbp based frame
; fully interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 0 ) ref -> [rbp+0x10] do-not-enreg[] this class-hnd
; V01 loc0 [V01 ] ( 4, 4 ) ref -> [rbp-0x18] do-not-enreg[] must-init class-hnd exact
; V02 loc1 [V02,T01] ( 2, 2 ) simd32 -> [rbp-0x50] do-not-enreg[SB] must-init ld-addr-op
; V03 loc2 [V03,T02] ( 2, 2 ) struct ( 8) [rbp-0x58] do-not-enreg[SF] must-init ld-addr-op
; V04 OutArgs [V04 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] do-not-enreg[]
; V05 tmp1 [V05 ] ( 3, 6 ) ref -> [rbp-0x60] do-not-enreg[] must-init class-hnd exact
; V06 tmp2 [V06 ] ( 3, 6 ) ref -> [rbp-0x68] do-not-enreg[] must-init
; V07 tmp3 [V07 ] ( 3, 3 ) ref -> [rbp-0x70] do-not-enreg[] must-init
; V08 tmp4 [V08 ] ( 1, 2 ) ref -> [rbp-0x78] do-not-enreg[] must-init class-hnd
; V09 tmp5 [V09 ] ( 2, 4 ) ref -> [rbp-0x80] do-not-enreg[] must-init class-hnd exact
; V10 tmp6 [V10 ] ( 2, 4 ) ref -> [rbp-0x88] do-not-enreg[] must-init class-hnd
; V11 tmp7 [V11 ] ( 2, 4 ) ref -> [rbp-0x90] do-not-enreg[] must-init class-hnd
; V12 tmp8 [V12 ] ( 3, 6 ) ref -> [rbp-0x98] do-not-enreg[] must-init
; V13 tmp9 [V13 ] ( 3, 6 ) ref -> [rbp-0xA0] do-not-enreg[] must-init class-hnd exact
; V14 tmp10 [V14,T00] ( 2, 4 ) simd32 -> [rbp-0xD0] do-not-enreg[SB] must-init
; V15 tmp11 [V15 ] ( 4, 8 ) ref -> [rbp-0xD8] do-not-enreg[] must-init class-hnd exact
; V16 tmp12 [V16 ] ( 2, 4 ) ref -> [rbp-0xE0] do-not-enreg[] must-init
; V17 tmp13 [V17 ] ( 3, 6 ) simd32 -> [rbp-0x110] do-not-enreg[XSB] addr-exposed
;
; Lcl frame size = 288
G_M22984_IG01:
55 push rbp
57 push rdi
56 push rsi
4881EC20010000 sub rsp, 288
488DAC2430010000 lea rbp, [rsp+130H]
488BF1 mov rsi, rcx
488DBD20FFFFFF lea rdi, [rbp-E0H]
B934000000 mov ecx, 52
33C0 xor rax, rax
F3AB rep stosd
488BCE mov rcx, rsi
48894D10 mov gword ptr [rbp+10H], rcx
G_M22984_IG02:
833D2539CBFF00 cmp dword ptr [(reloc)], 0
7405 je SHORT G_M22984_IG03
E81699D15E call CORINFO_HELP_DBG_IS_JUST_MY_CODE
G_M22984_IG03:
48B9C0767E76FA7F0000 mov rcx, 0x7FFA767E76C0
E8F7C01C5F call CORINFO_HELP_NEWSFAST
488945A0 mov gword ptr [rbp-60H], rax
488B4DA0 mov rcx, gword ptr [rbp-60H]
E822F0FFFF call <>c__DisplayClass23_0`1[Byte][System.Byte]:.ctor():this
488B4DA0 mov rcx, gword ptr [rbp-60H]
48894DE8 mov gword ptr [rbp-18H], rcx
90 nop
48B940632C76FA7F0000 mov rcx, 0x7FFA762C6340
33D2 xor edx, edx
E85041D25E call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
48B9308E5F9ACD020000 mov rcx, 0x2CD9A5F8E30
488B09 mov rcx, gword ptr [rcx]
48894D98 mov gword ptr [rbp-68H], rcx
488B4D98 mov rcx, gword ptr [rbp-68H]
48894D90 mov gword ptr [rbp-70H], rcx
48837D9800 cmp gword ptr [rbp-68H], 0
0F858A000000 jne G_M22984_IG04
48B9E877DAD4FA7F0000 mov rcx, 0x7FFAD4DA77E8
E89DC01C5F call CORINFO_HELP_NEWSFAST
48898528FFFFFF mov gword ptr [rbp-D8H], rax
48B940632C76FA7F0000 mov rcx, 0x7FFA762C6340
33D2 xor edx, edx
E80541D25E call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
48BA288E5F9ACD020000 mov rdx, 0x2CD9A5F8E28
488B12 mov rdx, gword ptr [rdx]
48899520FFFFFF mov gword ptr [rbp-E0H], rdx
488B9520FFFFFF mov rdx, gword ptr [rbp-E0H]
49B858146176FA7F0000 mov r8, 0x7FFA76611458
488B8D28FFFFFF mov rcx, gword ptr [rbp-D8H]
E82470375E call System.MulticastDelegate:CtorClosed(ref,long):this
48B940632C76FA7F0000 mov rcx, 0x7FFA762C6340
33D2 xor edx, edx
E8C340D25E call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
48B9308E5F9ACD020000 mov rcx, 0x2CD9A5F8E30
488B9528FFFFFF mov rdx, gword ptr [rbp-D8H]
E85D48065F call CORINFO_HELP_CHECKED_ASSIGN_REF
488B9528FFFFFF mov rdx, gword ptr [rbp-D8H]
48895590 mov gword ptr [rbp-70H], rdx
G_M22984_IG04:
488B5590 mov rdx, gword ptr [rbp-70H]
48B9E0AD7E76FA7F0000 mov rcx, 0x7FFA767EADE0
E847F0FFFF call Xunit.Assert:Throws(ref):ref
48894588 mov gword ptr [rbp-78H], rax
90 nop
33C9 xor rcx, rcx
48894DA8 mov qword ptr [rbp-58H], rcx
488B4DE8 mov rcx, gword ptr [rbp-18H]
48894D80 mov gword ptr [rbp-80H], rcx
488B4DA8 mov rcx, qword ptr [rbp-58H]
E84BF0FFFF call System.Numerics.Tests.GenericVectorTests:GenerateRandomValuesForVector(struct):ref
48898578FFFFFF mov gword ptr [rbp-88H], rax
488B8D78FFFFFF mov rcx, gword ptr [rbp-88H]
E858F0FFFF call System.Linq.Enumerable:ToArray(ref):ref
48898570FFFFFF mov gword ptr [rbp-90H], rax
488B5580 mov rdx, gword ptr [rbp-80H]
488D4A08 lea rcx, bword ptr [rdx+8]
488B9570FFFFFF mov rdx, gword ptr [rbp-90H]
E82548065F call CORINFO_HELP_ASSIGN_REF
488B4DE8 mov rcx, gword ptr [rbp-18H]
488B4908 mov rcx, gword ptr [rcx+8]
48898D68FFFFFF mov gword ptr [rbp-98H], rcx
488B8D68FFFFFF mov rcx, gword ptr [rbp-98H]
8379081F cmp dword ptr [rcx+8], 31
7705 ja SHORT G_M22984_IG05
E8340FD25E call CORINFO_HELP_RNGCHKFAIL
G_M22984_IG05:
488B8D68FFFFFF mov rcx, gword ptr [rbp-98H]
C4E17D104110 vmovupd ymm0, ymmword ptr[rcx+16]
C4E17D1145B0 vmovupd ymmword ptr[rbp-50H], ymm0
48B9D8867276FA7F0000 mov rcx, 0x7FFA767286D8
E882BF1C5F call CORINFO_HELP_NEWSFAST
48898560FFFFFF mov gword ptr [rbp-A0H], rax
C4E17D1045B0 vmovupd ymm0, ymmword ptr[rbp-50H]
C4E17D118530FFFFFF vmovupd ymmword ptr[rbp-D0H], ymm0
49B800146176FA7F0000 mov r8, 0x7FFA76611400
488B8D60FFFFFF mov rcx, gword ptr [rbp-A0H]
488B55E8 mov rdx, gword ptr [rbp-18H]
E8226F375E call System.MulticastDelegate:CtorClosed(ref,long):this
C4E17D108530FFFFFF vmovupd ymm0, ymmword ptr[rbp-D0H]
C4E17D1185F0FEFFFF vmovupd ymmword ptr[rbp-110H], ymm0
488D8DF0FEFFFF lea rcx, bword ptr [rbp-110H]
488B9560FFFFFF mov rdx, gword ptr [rbp-A0H]
E8FDEFFFFF call System.Numerics.Tests.GenericVectorTests:ValidateVector(struct,ref)
90 nop
90 nop
G_M22984_IG06:
488D65F0 lea rsp, [rbp-10H]
5E pop rsi
5F pop rdi
5D pop rbp
C3 ret
; Total bytes of code 541, prolog size 44 for method System.Numerics.Tests.GenericVectorTests:TestConstructorArrayWithCountException():this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment