diff options
Diffstat (limited to 'backend/lib/Target/RISCV/RISCVMCCodeEmitter.cpp')
| -rw-r--r-- | backend/lib/Target/RISCV/RISCVMCCodeEmitter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCVMCCodeEmitter.cpp b/backend/lib/Target/RISCV/RISCVMCCodeEmitter.cpp index 5f98887..81ac0f1 100644 --- a/backend/lib/Target/RISCV/RISCVMCCodeEmitter.cpp +++ b/backend/lib/Target/RISCV/RISCVMCCodeEmitter.cpp @@ -182,6 +182,8 @@ namespace { return std::unexpected(Kind.error()); if (*Kind == 0) return fixupKind(RISCVFixupKind::High20); + if (*Kind == static_cast<std::uint32_t>(RISCVMCExprKind::AbsoluteHigh)) + return fixupKind(RISCVFixupKind::High20); if (*Kind == static_cast<std::uint32_t>(RISCVMCExprKind::PCRelativeHigh)) return fixupKind(RISCVFixupKind::PCRelativeHigh20); if (*Kind == static_cast<std::uint32_t>(RISCVMCExprKind::CallPLT)) @@ -196,6 +198,8 @@ namespace { return std::unexpected(Kind.error()); if (*Kind == 0) return fixupKind(Store ? RISCVFixupKind::Low12S : RISCVFixupKind::Low12I); + if (*Kind == static_cast<std::uint32_t>(RISCVMCExprKind::AbsoluteLow)) + return fixupKind(Store ? RISCVFixupKind::Low12S : RISCVFixupKind::Low12I); if (*Kind == static_cast<std::uint32_t>(RISCVMCExprKind::PCRelativeLow)) { return fixupKind(Store ? RISCVFixupKind::PCRelativeLow12S : RISCVFixupKind::PCRelativeLow12I); } |
