| # RUN: llvm-mc -assemble -triple=thumbv8.1m.main -mattr=+mve -filetype=obj %s -o - 2>&1 | \ |
| # RUN: llvm-objdump --no-print-imm-hex -d -r --triple=thumbv8.1m.main --mattr=+mve - | FileCheck %s |
| |
| # Test to check that we can evaluate branches and their targets, i.e. |
| # checking that we see branch targets annotations like <foo+0xc> in the |
| # disassembly. |
| |
| foo: |
| # CHECK: wls lr, r3, 0xc <foo+0xc> @ imm = #8 |
| # CHECK: vmov q0, q1 |
| # CHECK: le lr, 0x4 <foo+0x4> @ imm = #-8 |
| |
| wls lr, r3, #8 |
| vmov q0, q1 |
| le lr, #-8 |
| |
| |
| # CHECK: wlstp.8 lr, r3, 0x18 <foo+0x18> @ imm = #8 |
| # CHECK: vmov q0, q1 |
| # CHECK: letp lr, 0x10 <foo+0x10> @ imm = #-8 |
| |
| wlstp.8 lr, r3, #8 |
| vmov q0, q1 |
| letp lr, #-8 |
| |
| |
| # CHECK: wlstp.16 lr, r3, 0x24 <foo+0x24> @ imm = #8 |
| # CHECK: vmov q0, q1 |
| # CHECK: letp lr, 0x1c <foo+0x1c> @ imm = #-8 |
| |
| wlstp.16 lr, r3, #8 |
| vmov q0, q1 |
| letp lr, #-8 |
| |
| |
| # CHECK: wlstp.32 lr, r3, 0x30 <foo+0x30> @ imm = #8 |
| # CHECK: vmov q0, q1 |
| # CHECK: letp lr, 0x28 <foo+0x28> @ imm = #-8 |
| |
| wlstp.32 lr, r3, #8 |
| vmov q0, q1 |
| letp lr, #-8 |
| |
| |
| # CHECK: wlstp.64 lr, r3, 0x3c <foo+0x3c> @ imm = #8 |
| # CHECK: vmov q0, q1 |
| # CHECK: letp lr, 0x34 <foo+0x34> @ imm = #-8 |
| |
| wlstp.64 lr, r3, #8 |
| vmov q0, q1 |
| letp lr, #-8 |