; Assembly listing for method Program:Test2(struct) ; Emitting BLENDED_CODE for X64 CPU with AVX ; optimized code ; rsp based frame ; partially interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 30, 56 ) byref -> rcx ;* V01 tmp0 [V01 ] ( 0, 0 ) struct (16) zero-ref ;* V02 tmp1 [V02 ] ( 0, 0 ) struct (16) zero-ref ; V03 tmp2 [V03,T04] ( 6, 6 ) float -> mm1 V01.X(offs=0x00) P-INDEP ; V04 tmp3 [V04,T05] ( 6, 6 ) float -> mm3 V01.Y(offs=0x04) P-INDEP ; V05 tmp4 [V05,T06] ( 6, 6 ) float -> mm5 V01.Z(offs=0x08) P-INDEP ; V06 tmp5 [V06,T07] ( 6, 6 ) float -> mm7 V01.W(offs=0x0c) P-INDEP ; V07 tmp6 [V07,T08] ( 6, 6 ) float -> mm0 V02.X(offs=0x00) P-INDEP ; V08 tmp7 [V08,T09] ( 6, 6 ) float -> mm2 V02.Y(offs=0x04) P-INDEP ; V09 tmp8 [V09,T10] ( 6, 6 ) float -> mm4 V02.Z(offs=0x08) P-INDEP ; V10 tmp9 [V10,T11] ( 6, 6 ) float -> mm6 V02.W(offs=0x0c) P-INDEP ; V11 OutArgs [V11 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] ; V12 cse0 [V12,T01] ( 15, 15 ) float -> mm0 ; V13 cse1 [V13,T02] ( 12, 12 ) float -> mm2 ; V14 cse2 [V14,T03] ( 9, 9 ) float -> mm4 ; V15 cse3 [V15,T12] ( 6, 6 ) float -> mm6 ; ; Lcl frame size = 72 G_M46276_IG01: 4883EC48 sub rsp, 72 C5F877 vzeroupper C4E17829742430 vmovaps qword ptr [rsp+30H], xmm6 C4E178297C2420 vmovaps qword ptr [rsp+20H], xmm7 G_M46276_IG02: C4E17A1001 vmovss xmm0, dword ptr [rcx] C4E17828C8 vmovaps xmm1, xmm0 C4E17A105104 vmovss xmm2, dword ptr [rcx+4] C4E17828DA vmovaps xmm3, xmm2 C4E17A106108 vmovss xmm4, dword ptr [rcx+8] C4E17828EC vmovaps xmm5, xmm4 C4E17A10710C vmovss xmm6, dword ptr [rcx+12] C4E17828FE vmovaps xmm7, xmm6 C4E17259C8 vmulss xmm1, xmm0 C4E16259DA vmulss xmm3, xmm2 C4E17258CB vaddss xmm1, xmm3 C4E15259EC vmulss xmm5, xmm4 C4E17258CD vaddss xmm1, xmm5 C4E14259FE vmulss xmm7, xmm6 C4E17828C1 vmovaps xmm0, xmm1 C4E17A58C7 vaddss xmm0, xmm7 E803D4FFFF call System.Console:WriteLine(float) 90 nop G_M46276_IG03: C4E17828742430 vmovaps xmm6, qword ptr [rsp+30H] C4E178287C2420 vmovaps xmm7, qword ptr [rsp+20H] 4883C448 add rsp, 72 C3 ret ; Total bytes of code 129, prolog size 21 for method Program:Test2(struct) ; ============================================================