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