|  | ; Listing generated by Microsoft (R) Optimizing Compiler Version 19.15.26504.0 | 
|  |  | 
|  | TTL	C:\Source\compiler-explorer\test\cases\arm-moose-example.cpp | 
|  | THUMB | 
|  | .drectve | 
|  | DCB	"-defaultlib:LIBCMT " | 
|  | DCB	"-defaultlib:OLDNAMES " | 
|  |  | 
|  | EXPORT	|moose| | 
|  | ;	COMDAT .pdata | 
|  | .pdata	SEGMENT | 
|  | |$pdata1$moose| DCD imagerel |moose| | 
|  | DCD	0xfd1160d5 | 
|  | ; Function compile flags: /Ogtpy | 
|  | ;	COMDAT moose | 
|  | .text$mn	SEGMENT | 
|  |  | 
|  | |moose|	PROC | 
|  | ; File c:\source\compiler-explorer\test\cases\arm-moose-example.cpp | 
|  | ; Line 9 | 
|  | push        {r3-r5,lr} | 
|  | |$M22| | 
|  | mov         r5,r0 | 
|  | ; Line 10 | 
|  | movs        r0,#1 | 
|  | movs        r4,#0 | 
|  | vdup.32     q10,r5 | 
|  | ; Line 12 | 
|  | cmp         r1,#0 | 
|  | ble         |$LN18@moose| | 
|  | cmp         r1,#8 | 
|  | bcc         |$LN11@moose| | 
|  | ; Line 10 | 
|  | asrs        r3,r1,#2 | 
|  | add         r3,r1,r3,lsr #0x1D | 
|  | asrs        r3,r3,#3 | 
|  | sub         r3,r1,r3,lsl #3 | 
|  | vmov.i64    q8,#0 | 
|  | subs        r3,r1,r3 | 
|  | vmov        q9,q8 | 
|  | vmul.i32    q10,q10,q10 | 
|  | |$LL4@moose| | 
|  | ; Line 12 | 
|  | adds        r4,r4,#8 | 
|  | cmp         r4,r3 | 
|  | ; Line 13 | 
|  | vadd.i32    q8,q10,q8 | 
|  | vadd.i32    q9,q10,q9 | 
|  | blt         |$LL4@moose| | 
|  | ; Line 10 | 
|  | vadd.i32    q8,q9,q8 | 
|  | vmov.32     r2,d17[1] | 
|  | vmov.32     r3,d17[0] | 
|  | add         r2,r2,r3 | 
|  | vmov.32     r3,d16[1] | 
|  | add         r2,r2,r3 | 
|  | vmov.32     r3,d16[0] | 
|  | add         r3,r3,r2 | 
|  | adds        r0,r3,#1 | 
|  | |$LN11@moose| | 
|  | ; Line 12 | 
|  | cmp         r4,r1 | 
|  | bge         |$LN17@moose| | 
|  | subs        r3,r1,r4 | 
|  | mul         r3,r3,r5 | 
|  | mla         r0,r3,r5,r0 | 
|  | |$LN17@moose| | 
|  | |$M20| | 
|  | ; Line 16 | 
|  | pop         {r3-r5,pc} | 
|  | |$LN18@moose| | 
|  | |$M21| | 
|  | pop         {r3-r5,pc} | 
|  | |$M23| | 
|  |  | 
|  | ENDP  ; |moose| | 
|  |  | 
|  | ; Function compile flags: /Ogtpy | 
|  | ;	COMDAT thing | 
|  | .text$mn	SEGMENT | 
|  |  | 
|  | |thing|	PROC | 
|  | ; File c:\source\compiler-explorer\test\cases\arm-moose-example.cpp | 
|  | ; Line 7 | 
|  | mul         r0,r0,r0 | 
|  | |$M4| | 
|  | bx          lr | 
|  |  | 
|  | ENDP  ; |thing| | 
|  |  | 
|  | END |