69 lines · plain
1@ RUN: llvm-mc < %s --triple=armv8a -mattr=+mve,+lob -filetype=obj | llvm-objdump --no-print-imm-hex -dr - --triple armv8a --mattr=+mve,+lob --no-show-raw-insn | FileCheck %s2@ RUN: llvm-mc < %s --triple=thumbv8a -mattr=+mve,+lob -filetype=obj | llvm-objdump --no-print-imm-hex -dr - --triple armv8a --mattr=+mve,+lob --no-show-raw-insn | FileCheck %s3 4foo:5 6 // Branches7 .arm8 b foo9 ble foo10@ CHECK: 0: b 0x0 <foo> @ imm = #-811@ CHECK: 4: ble 0x0 <foo> @ imm = #-1212 13 .thumb14 b foo15 b.w foo16 ble foo17 ble.w foo18 le foo19 le lr, foo20 cbz r0, bar21 cbnz r0, bar22@ CHECK: 8: b 0x0 <foo> @ imm = #-1223@ CHECK: a: b.w 0x0 <foo> @ imm = #-1424@ CHECK: e: ble 0x0 <foo> @ imm = #-1825@ CHECK: 10: ble.w 0x0 <foo> @ imm = #-2026@ CHECK: 14: le 0x0 <foo> @ imm = #-2427@ CHECK: 18: le lr, 0x0 <foo> @ imm = #-2828@ CHECK: 1c: cbz r0, 0x48 <bar> @ imm = #4029@ CHECK: 1e: cbnz r0, 0x48 <bar> @ imm = #3830 31 // Calls without relocations (these offsets al correspond to label foo).32 .arm33 bl #-4034 blx #-4435 bleq #-4836@ CHECK: 20: bl 0x0 <foo> @ imm = #-4037@ CHECK: 24: blx 0x0 <foo> @ imm = #-4438@ CHECK: 28: bleq 0x0 <foo> @ imm = #-4839 40 .thumb41 bl #-4842 blx #-5243@ CHECK: 2c: bl 0x0 <foo> @ imm = #-4844@ CHECK: 30: blx 0x0 <foo> @ imm = #-5245 46 // Calls with relocations. These currently emit a reference to their own47 // location, because we don't take relocations into account when printing48 // branch targets.49 .arm50 bl baz51 blx baz52 bleq baz53@ CHECK: 34: bl {{.+}} @ imm = #-854@ CHECK: 00000034: R_ARM_CALL baz55@ CHECK: 38: blx {{.+}} @ imm = #-856@ CHECK: 00000038: R_ARM_CALL baz57@ CHECK: 3c: bleq {{.+}} @ imm = #-858@ CHECK: 0000003c: R_ARM_JUMP24 baz59 60 .thumb61 bl baz62 blx baz63@ CHECK: 40: bl {{.+}} @ imm = #-464@ CHECK: 00000040: R_ARM_THM_CALL baz65@ CHECK: 44: blx {{.+}} @ imm = #-466@ CHECK: 00000044: R_ARM_THM_CALL baz67 68bar:69