[lld] r271525 - Simplify mask computation.
Rafael Espindola via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 2 09:00:26 PDT 2016
Author: rafael
Date: Thu Jun 2 11:00:25 2016
New Revision: 271525
URL: http://llvm.org/viewvc/llvm-project?rev=271525&view=rev
Log:
Simplify mask computation.
Modified:
lld/trunk/ELF/Target.cpp
Modified: lld/trunk/ELF/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=271525&r1=271524&r2=271525&view=diff
==============================================================================
--- lld/trunk/ELF/Target.cpp (original)
+++ lld/trunk/ELF/Target.cpp Thu Jun 2 11:00:25 2016
@@ -1203,8 +1203,8 @@ void AArch64TargetInfo::writePlt(uint8_t
static void updateAArch64Addr(uint8_t *L, uint64_t Imm) {
uint32_t ImmLo = (Imm & 0x3) << 29;
- uint32_t ImmHi = ((Imm & 0x1FFFFC) >> 2) << 5;
- uint64_t Mask = (0x3 << 29) | (0x7FFFF << 5);
+ uint32_t ImmHi = (Imm & 0x1FFFFC) << 3;
+ uint64_t Mask = (0x3 << 29) | (0x1FFFFC << 3);
write32le(L, (read32le(L) & ~Mask) | ImmLo | ImmHi);
}
@@ -1240,11 +1240,11 @@ void AArch64TargetInfo::relocateOne(uint
case R_AARCH64_ADR_PREL_PG_HI21:
case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
checkInt<33>(Val, Type);
- updateAArch64Addr(Loc, (Val >> 12) & 0x1FFFFF); // X[32:12]
+ updateAArch64Addr(Loc, Val >> 12);
break;
case R_AARCH64_ADR_PREL_LO21:
checkInt<21>(Val, Type);
- updateAArch64Addr(Loc, Val & 0x1FFFFF);
+ updateAArch64Addr(Loc, Val);
break;
case R_AARCH64_CALL26:
case R_AARCH64_JUMP26:
More information about the llvm-commits
mailing list