{
  "asm": [
    {
      "source": null,
      "text": "; Listing generated by Microsoft (R) Optimizing Compiler Version 19.15.26504.0 "
    },
    {
      "source": null,
      "text": ""
    },
    {
      "source": null,
      "text": "        TTL     C:\\Source\\compiler-explorer\\test\\cases\\arm-moose-example.cpp"
    },
    {
      "source": null,
      "text": "        THUMB"
    },
    {
      "source": null,
      "text": "        .drectve"
    },
    {
      "source": null,
      "text": "        DCB     \"-defaultlib:LIBCMT \""
    },
    {
      "source": null,
      "text": "        DCB     \"-defaultlib:OLDNAMES \""
    },
    {
      "source": null,
      "text": ""
    },
    {
      "source": null,
      "text": "        EXPORT  |moose|"
    },
    {
      "source": null,
      "text": ";       COMDAT .pdata"
    },
    {
      "source": null,
      "text": ".pdata  SEGMENT"
    },
    {
      "source": null,
      "text": "|$pdata1$moose| DCD imagerel |moose|"
    },
    {
      "source": null,
      "text": "        DCD     0xfd1160d5"
    },
    {
      "source": null,
      "text": ""
    },
    {
      "source": null,
      "text": "; Function compile flags: /Ogtpy"
    },
    {
      "source": null,
      "text": ";       COMDAT thing"
    },
    {
      "source": null,
      "text": ".text$mn        SEGMENT"
    },
    {
      "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": ".text$mn        SEGMENT"
    },
    {
      "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": ""
    },
    {
      "source": null,
      "text": "\tEND"
    }
  ]
}
