case LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF:
return MCSymbolRefExpr::VK_GOTPAGEOFF;
case LLVMDisassembler_VariantKind_ARM64_TLVP:
+ return MCSymbolRefExpr::VK_TLVPPAGE;
case LLVMDisassembler_VariantKind_ARM64_TLVOFF:
+ return MCSymbolRefExpr::VK_TLVPPAGEOFF;
default:
llvm_unreachable("bad LLVMDisassembler_VariantKind");
}
; RUN: llvm-mc -triple=arm64-apple-ios7.0 %s -o - | FileCheck %s
-; RUN: llvm-mc -triple=arm64-apple-ios7.0 -filetype=obj %s -o - | llvm-objdump -r - | FileCheck %s --check-prefix=CHECK-OBJ
adrp x2, _var@TLVPPAGE
ldr x0, [x15, _var@TLVPPAGEOFF]
; CHECK: adrp x2, _var@TLVPPAG
; CHECK: ldr x0, [x15, _var@TLVPPAGEOFF]
; CHECK: add x30, x0, _var@TLVPPAGEOFF
-
-; CHECK-OBJ: 8 ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var
-; CHECK-OBJ: 4 ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var
-; CHECK-OBJ: 0 ARM64_RELOC_TLVP_LOAD_PAGE21 _var
--- /dev/null
+; REQUIRES: aarch64-registered-target
+; RUN: llvm-mc -triple=arm64-apple-ios7.0 -filetype=obj %s -o %t.o
+
+adrp x2, _var@TLVPPAGE
+ldr x0, [x15, _var@TLVPPAGEOFF]
+add x30, x0, _var@TLVPPAGEOFF
+
+; RUN: llvm-objdump -rd %t.o | FileCheck %s --check-prefix=OBJDUMP
+; RUN: llvm-objdump --macho -d --full-leading-addr --no-show-raw-insn %t.o \
+; RUN: | FileCheck %s --check-prefix=MACHO
+
+; OBJDUMP: adrp x2, 0x0
+; OBJDUMP-NEXT: 0: ARM64_RELOC_TLVP_LOAD_PAGE21 _var
+; OBJDUMP-NEXT: ldr x0, [x15]
+; OBJDUMP-NEXT: 4: ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var
+; OBJDUMP-NEXT: add x30, x0, #0
+; OBJDUMP-NEXT: 8: ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var
+
+; MACHO: 0000000000000000 adrp x2, _var@TLVPPAGE
+; MACHO-NEXT: 0000000000000004 ldr x0, [x15, _var@TLVPPAGEOFF]
+; MACHO-NEXT: 0000000000000008 add x30, x0, _var@TLVPPAGEOFF