[clang] fix armv6kz LDREX definition (PR #122965)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 14 12:50:08 PST 2025
https://github.com/Un1q32 created https://github.com/llvm/llvm-project/pull/122965
Fixes #37901
This behavior is consistent with GCC
>From 70a8a728992e858aa5bc283616f826a778de4b88 Mon Sep 17 00:00:00 2001
From: Un1q32 <joey.t.reinhart at gmail.com>
Date: Tue, 14 Jan 2025 15:08:45 -0500
Subject: [PATCH] fix armv6kz LDREX definition
---
clang/lib/Basic/Targets/ARM.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Basic/Targets/ARM.cpp b/clang/lib/Basic/Targets/ARM.cpp
index 61ee26d8863832..0fd5433a76402e 100644
--- a/clang/lib/Basic/Targets/ARM.cpp
+++ b/clang/lib/Basic/Targets/ARM.cpp
@@ -617,7 +617,8 @@ bool ARMTargetInfo::handleTargetFeatures(std::vector<std::string> &Features,
case 6:
if (ArchProfile == llvm::ARM::ProfileKind::M)
LDREX = 0;
- else if (ArchKind == llvm::ARM::ArchKind::ARMV6K)
+ else if (ArchKind == llvm::ARM::ArchKind::ARMV6K ||
+ ArchKind == llvm::ARM::ArchKind::ARMV6KZ)
LDREX = LDREX_D | LDREX_W | LDREX_H | LDREX_B;
else
LDREX = LDREX_W;
More information about the cfe-commits
mailing list