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