| ; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.24224.0 | |
| TTL Z:\tmp\example.cpp | |
| THUMB | |
| .drectve | |
| DCB "-defaultlib:LIBCMT " | |
| DCB "-defaultlib:OLDNAMES " | |
| EXPORT |?moose@@YAHHH@Z| ; moose | |
| .pdata | |
| |$pdata1$?moose@@YAHHH@Z| DCD imagerel |?moose@@YAHHH@Z| | |
| DCD 0xfd1160d5 | |
| ; Function compile flags: /Ogtpy | |
| ; File z:\tmp\example.cpp | |
| .text$mn | |
| 00000 |?moose@@YAHHH@Z| PROC ; moose | |
| ; 3 : int moose(int x, int y) { | |
| 00000 b538 push {r3-r5,lr} | |
| 00002 |$M22| | |
| 00002 4605 mov r5,r0 | |
| ; 4 : int foo = 1; | |
| 00004 2001 movs r0,#1 | |
| ; 5 : for (int i = 0; i < y; ++i) | |
| 00006 2400 movs r4,#0 | |
| 00008 eea4 5b90 vdup.32 q10,r5 | |
| 0000c 2900 cmp r1,#0 | |
| 0000e dd2b ble |$LN18@moose| | |
| 00010 2908 cmp r1,#8 | |
| 00012 d321 bcc |$LN11@moose| | |
| 00014 108b asrs r3,r1,#2 | |
| 00016 eb01 7353 add r3,r1,r3,lsr #0x1D | |
| 0001a 10db asrs r3,r3,#3 | |
| 0001c eba1 03c3 sub r3,r1,r3,lsl #3 | |
| 00020 efc0 0e70 vmov.i64 q8,#0 | |
| 00024 1acb subs r3,r1,r3 | |
| 00026 ef60 21f0 vmov q9,q8 | |
| 0002a ef64 49f4 vmul.i32 q10,q10,q10 | |
| 0002e |$LL4@moose| | |
| 0002e 3408 adds r4,r4,#8 | |
| 00030 429c cmp r4,r3 | |
| 00032 ef64 08e0 vadd.i32 q8,q10,q8 | |
| 00036 ef64 28e2 vadd.i32 q9,q10,q9 | |
| 0003a dbf8 blt |$LL4@moose| | |
| 0003c ef62 08e0 vadd.i32 q8,q9,q8 | |
| 00040 ee31 2b90 vmov.32 r2,d17[1] | |
| 00044 ee11 3b90 vmov.32 r3,d17[0] | |
| 00048 441a add r2,r2,r3 | |
| 0004a ee30 3b90 vmov.32 r3,d16[1] | |
| 0004e 441a add r2,r2,r3 | |
| 00050 ee10 3b90 vmov.32 r3,d16[0] | |
| 00054 4413 add r3,r3,r2 | |
| 00056 1c58 adds r0,r3,#1 | |
| 00058 |$LN11@moose| | |
| 00058 428c cmp r4,r1 | |
| 0005a da04 bge |$LN17@moose| | |
| 0005c 1b0b subs r3,r1,r4 | |
| 0005e fb03 f305 mul r3,r3,r5 | |
| 00062 fb03 0005 mla r0,r3,r5,r0 | |
| 00066 |$LN17@moose| | |
| 00066 |$M20| | |
| ; 6 : foo += thing(x); | |
| ; 7 : return foo; | |
| ; 8 : } | |
| 00066 bd38 pop {r3-r5,pc} | |
| 00068 |$LN18@moose| | |
| 00068 |$M21| | |
| 00068 bd38 pop {r3-r5,pc} | |
| 0006a |$M23| | |
| ENDP ; |?moose@@YAHHH@Z|, moose | |
| ; Function compile flags: /Ogtpy | |
| ; File z:\tmp\example.cpp | |
| .text$mn | |
| 00000 |?thing@@YAHH@Z| PROC ; thing | |
| ; 1 : static int thing(int a) { return a * a; } | |
| 00000 fb00 f000 mul r0,r0,r0 | |
| 00004 |$M4| | |
| 00004 4770 bx lr | |
| ENDP ; |?thing@@YAHH@Z|, thing | |
| END |