| ; 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 |