Index: include/llvm/MC/MCExpr.h =================================================================== --- include/llvm/MC/MCExpr.h +++ include/llvm/MC/MCExpr.h @@ -215,7 +215,6 @@ VK_PPC_TOC_HI, // symbol@toc@h VK_PPC_TOC_HA, // symbol@toc@ha VK_PPC_DTPMOD, // symbol@dtpmod - VK_PPC_TPREL, // symbol@tprel VK_PPC_TPREL_LO, // symbol@tprel@l VK_PPC_TPREL_HI, // symbol@tprel@h VK_PPC_TPREL_HA, // symbol@tprel@ha @@ -223,7 +222,6 @@ VK_PPC_TPREL_HIGHERA, // symbol@tprel@highera VK_PPC_TPREL_HIGHEST, // symbol@tprel@highest VK_PPC_TPREL_HIGHESTA, // symbol@tprel@highesta - VK_PPC_DTPREL, // symbol@dtprel VK_PPC_DTPREL_LO, // symbol@dtprel@l VK_PPC_DTPREL_HI, // symbol@dtprel@h VK_PPC_DTPREL_HA, // symbol@dtprel@ha Index: lib/MC/MCELFStreamer.cpp =================================================================== --- lib/MC/MCELFStreamer.cpp +++ lib/MC/MCELFStreamer.cpp @@ -406,13 +406,14 @@ case MCSymbolRefExpr::VK_TLSLD: case MCSymbolRefExpr::VK_TLSLDM: case MCSymbolRefExpr::VK_TPOFF: + case MCSymbolRefExpr::VK_TPREL: case MCSymbolRefExpr::VK_DTPOFF: + case MCSymbolRefExpr::VK_DTPREL: case MCSymbolRefExpr::VK_Mips_TLSGD: case MCSymbolRefExpr::VK_Mips_GOTTPREL: case MCSymbolRefExpr::VK_Mips_TPREL_HI: case MCSymbolRefExpr::VK_Mips_TPREL_LO: case MCSymbolRefExpr::VK_PPC_DTPMOD: - case MCSymbolRefExpr::VK_PPC_TPREL: case MCSymbolRefExpr::VK_PPC_TPREL_LO: case MCSymbolRefExpr::VK_PPC_TPREL_HI: case MCSymbolRefExpr::VK_PPC_TPREL_HA: @@ -420,7 +421,6 @@ case MCSymbolRefExpr::VK_PPC_TPREL_HIGHERA: case MCSymbolRefExpr::VK_PPC_TPREL_HIGHEST: case MCSymbolRefExpr::VK_PPC_TPREL_HIGHESTA: - case MCSymbolRefExpr::VK_PPC_DTPREL: case MCSymbolRefExpr::VK_PPC_DTPREL_LO: case MCSymbolRefExpr::VK_PPC_DTPREL_HI: case MCSymbolRefExpr::VK_PPC_DTPREL_HA: Index: lib/MC/MCExpr.cpp =================================================================== --- lib/MC/MCExpr.cpp +++ lib/MC/MCExpr.cpp @@ -178,6 +178,8 @@ case VK_Invalid: return "<>"; case VK_None: return "<>"; + case VK_DTPOFF: return "DTPOFF"; + case VK_DTPREL: return "DTPREL"; case VK_GOT: return "GOT"; case VK_GOTOFF: return "GOTOFF"; case VK_GOTREL: return "GOTREL"; @@ -191,7 +193,7 @@ case VK_TLSLD: return "TLSLD"; case VK_TLSLDM: return "TLSLDM"; case VK_TPOFF: return "TPOFF"; - case VK_DTPOFF: return "DTPOFF"; + case VK_TPREL: return "TPREL"; case VK_TLVP: return "TLVP"; case VK_TLVPPAGE: return "TLVPPAGE"; case VK_TLVPPAGEOFF: return "TLVPPAGEOFF"; @@ -228,7 +230,6 @@ case VK_PPC_TOC_HI: return "toc@h"; case VK_PPC_TOC_HA: return "toc@ha"; case VK_PPC_DTPMOD: return "dtpmod"; - case VK_PPC_TPREL: return "tprel"; case VK_PPC_TPREL_LO: return "tprel@l"; case VK_PPC_TPREL_HI: return "tprel@h"; case VK_PPC_TPREL_HA: return "tprel@ha"; @@ -236,7 +237,6 @@ case VK_PPC_TPREL_HIGHERA: return "tprel@highera"; case VK_PPC_TPREL_HIGHEST: return "tprel@highest"; case VK_PPC_TPREL_HIGHESTA: return "tprel@highesta"; - case VK_PPC_DTPREL: return "dtprel"; case VK_PPC_DTPREL_LO: return "dtprel@l"; case VK_PPC_DTPREL_HI: return "dtprel@h"; case VK_PPC_DTPREL_HA: return "dtprel@ha"; @@ -302,8 +302,6 @@ case VK_Hexagon_IE: return "IE"; case VK_Hexagon_IE_GOT: return "IEGOT"; case VK_WebAssembly_FUNCTION: return "FUNCTION"; - case VK_TPREL: return "tprel"; - case VK_DTPREL: return "dtprel"; } llvm_unreachable("Invalid variant kind"); } @@ -311,6 +309,8 @@ MCSymbolRefExpr::VariantKind MCSymbolRefExpr::getVariantKindForName(StringRef Name) { return StringSwitch(Name.lower()) + .Case("dtprel", VK_DTPREL) + .Case("dtpoff", VK_DTPOFF) .Case("got", VK_GOT) .Case("gotoff", VK_GOTOFF) .Case("gotrel", VK_GOTREL) @@ -324,7 +324,7 @@ .Case("tlsld", VK_TLSLD) .Case("tlsldm", VK_TLSLDM) .Case("tpoff", VK_TPOFF) - .Case("dtpoff", VK_DTPOFF) + .Case("tprel", VK_TPREL) .Case("tlvp", VK_TLVP) .Case("tlvppage", VK_TLVPPAGE) .Case("tlvppageoff", VK_TLVPPAGEOFF) @@ -353,7 +353,6 @@ .Case("toc@ha", VK_PPC_TOC_HA) .Case("tls", VK_PPC_TLS) .Case("dtpmod", VK_PPC_DTPMOD) - .Case("tprel", VK_PPC_TPREL) .Case("tprel@l", VK_PPC_TPREL_LO) .Case("tprel@h", VK_PPC_TPREL_HI) .Case("tprel@ha", VK_PPC_TPREL_HA) @@ -361,7 +360,6 @@ .Case("tprel@highera", VK_PPC_TPREL_HIGHERA) .Case("tprel@highest", VK_PPC_TPREL_HIGHEST) .Case("tprel@highesta", VK_PPC_TPREL_HIGHESTA) - .Case("dtprel", VK_PPC_DTPREL) .Case("dtprel@l", VK_PPC_DTPREL_LO) .Case("dtprel@h", VK_PPC_DTPREL_HI) .Case("dtprel@ha", VK_PPC_DTPREL_HA) Index: lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp =================================================================== --- lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp +++ lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp @@ -50,7 +50,7 @@ break; case FK_Data_4: switch(Variant) { - case MCSymbolRefExpr::VariantKind::VK_PPC_DTPREL: + case MCSymbolRefExpr::VariantKind::VK_DTPREL: return ELF::R_HEX_DTPREL_32; case MCSymbolRefExpr::VariantKind::VK_GOT: return ELF::R_HEX_GOT_32; @@ -66,7 +66,7 @@ return ELF::R_HEX_LD_GOT_32; case MCSymbolRefExpr::VariantKind::VK_Hexagon_PCREL: return ELF::R_HEX_32_PCREL; - case MCSymbolRefExpr::VariantKind::VK_PPC_TPREL: + case MCSymbolRefExpr::VariantKind::VK_TPREL: return ELF::R_HEX_TPREL_32; case MCSymbolRefExpr::VariantKind::VK_None: return IsPCRel ? ELF::R_HEX_32_PCREL : ELF::R_HEX_32; @@ -77,7 +77,7 @@ return ELF::R_HEX_32_PCREL; case FK_Data_2: switch(Variant) { - case MCSymbolRefExpr::VariantKind::VK_PPC_DTPREL: + case MCSymbolRefExpr::VariantKind::VK_DTPREL: return ELF::R_HEX_DTPREL_16; case MCSymbolRefExpr::VariantKind::VK_GOT: return ELF::R_HEX_GOT_16; @@ -87,7 +87,7 @@ return ELF::R_HEX_IE_GOT_16; case MCSymbolRefExpr::VariantKind::VK_Hexagon_LD_GOT: return ELF::R_HEX_LD_GOT_16; - case MCSymbolRefExpr::VariantKind::VK_PPC_TPREL: + case MCSymbolRefExpr::VariantKind::VK_TPREL: return ELF::R_HEX_TPREL_16; case MCSymbolRefExpr::VariantKind::VK_None: return ELF::R_HEX_16; Index: lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp =================================================================== --- lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp +++ lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp @@ -279,9 +279,9 @@ return Hexagon::fixup_Hexagon_GOTREL_32_6_X; case MCSymbolRefExpr::VK_GOT: return Hexagon::fixup_Hexagon_GOT_32_6_X; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: return Hexagon::fixup_Hexagon_TPREL_32_6_X; - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: return Hexagon::fixup_Hexagon_DTPREL_32_6_X; case MCSymbolRefExpr::VK_Hexagon_GD_GOT: return Hexagon::fixup_Hexagon_GD_GOT_32_6_X; @@ -319,9 +319,9 @@ return Hexagon::fixup_Hexagon_IE_HI16; case MCSymbolRefExpr::VK_Hexagon_IE_GOT: return Hexagon::fixup_Hexagon_IE_GOT_HI16; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: return Hexagon::fixup_Hexagon_TPREL_HI16; - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: return Hexagon::fixup_Hexagon_DTPREL_HI16; case MCSymbolRefExpr::VK_None: return Hexagon::fixup_Hexagon_HI16; @@ -344,9 +344,9 @@ return Hexagon::fixup_Hexagon_IE_LO16; case MCSymbolRefExpr::VK_Hexagon_IE_GOT: return Hexagon::fixup_Hexagon_IE_GOT_LO16; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: return Hexagon::fixup_Hexagon_TPREL_LO16; - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: return Hexagon::fixup_Hexagon_DTPREL_LO16; case MCSymbolRefExpr::VK_None: return Hexagon::fixup_Hexagon_LO16; @@ -452,7 +452,7 @@ raise_relocation_error(bits, kind); case 32: switch (kind) { - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: FixupKind = *Extended ? Hexagon::fixup_Hexagon_DTPREL_32_6_X : Hexagon::fixup_Hexagon_DTPREL_32; break; @@ -487,7 +487,7 @@ FixupKind = *Extended ? Hexagon::fixup_Hexagon_32_6_X : Hexagon::fixup_Hexagon_32; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: FixupKind = *Extended ? Hexagon::fixup_Hexagon_TPREL_32_6_X : Hexagon::fixup_Hexagon_TPREL_32; break; @@ -519,7 +519,7 @@ case 16: if (*Extended) { switch (kind) { - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: FixupKind = Hexagon::fixup_Hexagon_DTPREL_16_X; break; case MCSymbolRefExpr::VK_GOT: @@ -543,7 +543,7 @@ case MCSymbolRefExpr::VK_None: FixupKind = Hexagon::fixup_Hexagon_16_X; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: FixupKind = Hexagon::fixup_Hexagon_TPREL_16_X; break; default: @@ -551,7 +551,7 @@ } } else switch (kind) { - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: FixupKind = Hexagon::fixup_Hexagon_DTPREL_16; break; case MCSymbolRefExpr::VK_GOTREL: @@ -578,7 +578,7 @@ case MCSymbolRefExpr::VK_Hexagon_LO16: FixupKind = Hexagon::fixup_Hexagon_LO16; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: FixupKind = Hexagon::fixup_Hexagon_TPREL_16; break; default: @@ -630,7 +630,7 @@ case 11: if (*Extended) switch (kind) { - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: FixupKind = Hexagon::fixup_Hexagon_DTPREL_11_X; break; case MCSymbolRefExpr::VK_GOT: @@ -651,7 +651,7 @@ case MCSymbolRefExpr::VK_None: FixupKind = Hexagon::fixup_Hexagon_11_X; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: FixupKind = Hexagon::fixup_Hexagon_TPREL_11_X; break; default: @@ -659,7 +659,7 @@ } else { switch (kind) { - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: FixupKind = Hexagon::fixup_Hexagon_TPREL_11_X; break; default: @@ -713,7 +713,7 @@ case 6: if (*Extended) { switch (kind) { - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: FixupKind = Hexagon::fixup_Hexagon_DTPREL_16_X; break; // This is part of an extender, GOT_11 is a @@ -727,7 +727,7 @@ case MCSymbolRefExpr::VK_Hexagon_PCREL: FixupKind = Hexagon::fixup_Hexagon_6_PCREL_X; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: FixupKind = Hexagon::fixup_Hexagon_TPREL_16_X; break; case MCSymbolRefExpr::VK_None: Index: lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp =================================================================== --- lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp +++ lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp @@ -186,7 +186,7 @@ case MCSymbolRefExpr::VK_PPC_TOC_HA: Type = ELF::R_PPC64_TOC16_HA; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: Type = ELF::R_PPC_TPREL16; break; case MCSymbolRefExpr::VK_PPC_TPREL_LO: @@ -210,7 +210,7 @@ case MCSymbolRefExpr::VK_PPC_TPREL_HIGHESTA: Type = ELF::R_PPC64_TPREL16_HIGHESTA; break; - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: Type = ELF::R_PPC64_DTPREL16; break; case MCSymbolRefExpr::VK_PPC_DTPREL_LO: @@ -319,13 +319,13 @@ case MCSymbolRefExpr::VK_PPC_TOC_LO: Type = ELF::R_PPC64_TOC16_LO_DS; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: Type = ELF::R_PPC64_TPREL16_DS; break; case MCSymbolRefExpr::VK_PPC_TPREL_LO: Type = ELF::R_PPC64_TPREL16_LO_DS; break; - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: Type = ELF::R_PPC64_DTPREL16_DS; break; case MCSymbolRefExpr::VK_PPC_DTPREL_LO: @@ -380,10 +380,10 @@ case MCSymbolRefExpr::VK_PPC_DTPMOD: Type = ELF::R_PPC64_DTPMOD64; break; - case MCSymbolRefExpr::VK_PPC_TPREL: + case MCSymbolRefExpr::VK_TPREL: Type = ELF::R_PPC64_TPREL64; break; - case MCSymbolRefExpr::VK_PPC_DTPREL: + case MCSymbolRefExpr::VK_DTPREL: Type = ELF::R_PPC64_DTPREL64; break; } Index: lib/Target/PowerPC/PPCTargetObjectFile.cpp =================================================================== --- lib/Target/PowerPC/PPCTargetObjectFile.cpp +++ lib/Target/PowerPC/PPCTargetObjectFile.cpp @@ -53,7 +53,7 @@ const MCExpr *PPC64LinuxTargetObjectFile:: getDebugThreadLocalSymbol(const MCSymbol *Sym) const { const MCExpr *Expr = - MCSymbolRefExpr::create(Sym, MCSymbolRefExpr::VK_PPC_DTPREL, getContext()); + MCSymbolRefExpr::create(Sym, MCSymbolRefExpr::VK_DTPREL, getContext()); return MCBinaryExpr::createAdd(Expr, MCConstantExpr::create(0x8000, getContext()), getContext()); Index: test/DebugInfo/PowerPC/tls-fission.ll =================================================================== --- test/DebugInfo/PowerPC/tls-fission.ll +++ test/DebugInfo/PowerPC/tls-fission.ll @@ -15,7 +15,7 @@ ; check that the expected TLS address description is the first thing in the debug_addr section ; CHECK: debug_addr ; CHECK-NEXT: .Laddr_sec: -; CHECK-NEXT: .quad tls@dtprel+32768 +; CHECK-NEXT: .quad tls@DTPREL+32768 @tls = thread_local global i32 0, align 4 Index: test/DebugInfo/PowerPC/tls.ll =================================================================== --- test/DebugInfo/PowerPC/tls.ll +++ test/DebugInfo/PowerPC/tls.ll @@ -8,7 +8,7 @@ ; DW_OP_const8u ; CHECK: .byte 14 ; The debug relocation of the address of the tls variable -; CHECK: .quad tls@dtprel+32768 +; CHECK: .quad tls@DTPREL+32768 ; DW_OP_GNU_push_tls_address ; CHECK: .byte 224 Index: test/MC/PowerPC/ppc64-fixups.s =================================================================== --- test/MC/PowerPC/ppc64-fixups.s +++ test/MC/PowerPC/ppc64-fixups.s @@ -338,10 +338,10 @@ # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_LO target 0x0 addi 3, 3, target@tprel@l -# CHECK-BE: addi 3, 3, target@tprel # encoding: [0x38,0x63,A,A] -# CHECK-LE: addi 3, 3, target@tprel # encoding: [A,A,0x63,0x38] -# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel, kind: fixup_ppc_half16 -# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel, kind: fixup_ppc_half16 +# CHECK-BE: addi 3, 3, target@TPREL # encoding: [0x38,0x63,A,A] +# CHECK-LE: addi 3, 3, target@TPREL # encoding: [A,A,0x63,0x38] +# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@TPREL, kind: fixup_ppc_half16 +# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@TPREL, kind: fixup_ppc_half16 # CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16 target 0x0 # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16 target 0x0 addi 3, 3, target@tprel @@ -394,10 +394,10 @@ # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_LO_DS target 0x0 ld 1, target@tprel@l(3) -# CHECK-BE: ld 1, target@tprel(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] -# CHECK-LE: ld 1, target@tprel(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] -# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel, kind: fixup_ppc_half16ds -# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel, kind: fixup_ppc_half16ds +# CHECK-BE: ld 1, target@TPREL(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] +# CHECK-LE: ld 1, target@TPREL(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] +# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@TPREL, kind: fixup_ppc_half16ds +# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@TPREL, kind: fixup_ppc_half16ds # CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_DS target 0x0 # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_DS target 0x0 ld 1, target@tprel(3) @@ -418,10 +418,10 @@ # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_LO target 0x0 addi 3, 3, target@dtprel@l -# CHECK-BE: addi 3, 3, target@dtprel # encoding: [0x38,0x63,A,A] -# CHECK-LE: addi 3, 3, target@dtprel # encoding: [A,A,0x63,0x38] -# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel, kind: fixup_ppc_half16 -# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel, kind: fixup_ppc_half16 +# CHECK-BE: addi 3, 3, target@DTPREL # encoding: [0x38,0x63,A,A] +# CHECK-LE: addi 3, 3, target@DTPREL # encoding: [A,A,0x63,0x38] +# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@DTPREL, kind: fixup_ppc_half16 +# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@DTPREL, kind: fixup_ppc_half16 # CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16 target 0x0 # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16 target 0x0 addi 3, 3, target@dtprel @@ -474,10 +474,10 @@ # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_LO_DS target 0x0 ld 1, target@dtprel@l(3) -# CHECK-BE: ld 1, target@dtprel(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] -# CHECK-LE: ld 1, target@dtprel(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] -# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel, kind: fixup_ppc_half16ds -# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel, kind: fixup_ppc_half16ds +# CHECK-BE: ld 1, target@DTPREL(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] +# CHECK-LE: ld 1, target@DTPREL(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] +# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@DTPREL, kind: fixup_ppc_half16ds +# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@DTPREL, kind: fixup_ppc_half16ds # CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_DS target 0x0 # CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_DS target 0x0 ld 1, target@dtprel(3)