[flang-commits] [flang] 1eb4e9f - [flang] arm build fix (#124562)
via flang-commits
flang-commits at lists.llvm.org
Mon Jan 27 07:32:16 PST 2025
Author: vdonaldson
Date: 2025-01-27T10:32:13-05:00
New Revision: 1eb4e9f88b827f9adbcdd5f385f75406aa604812
URL: https://github.com/llvm/llvm-project/commit/1eb4e9f88b827f9adbcdd5f385f75406aa604812
DIFF: https://github.com/llvm/llvm-project/commit/1eb4e9f88b827f9adbcdd5f385f75406aa604812.diff
LOG: [flang] arm build fix (#124562)
Added:
Modified:
flang/runtime/exceptions.cpp
Removed:
################################################################################
diff --git a/flang/runtime/exceptions.cpp b/flang/runtime/exceptions.cpp
index 7fca0c431f8cd0..4ea11aa6ee8fc0 100644
--- a/flang/runtime/exceptions.cpp
+++ b/flang/runtime/exceptions.cpp
@@ -108,7 +108,7 @@ bool RTNAME(GetUnderflowMode)(void) {
return _MM_GET_FLUSH_ZERO_MODE() == _MM_FLUSH_ZERO_OFF;
#elif defined(_FPU_GETCW)
uint32_t fpcr;
- _FPU_GETCW(fpcr);
+ __asm__ __volatile__("mrs %w0, fpcr" : "=r"(fpcr));
return (fpcr & _FPU_FPCR_FZ_MASK_) != _FPU_FPCR_FZ_MASK_;
#else
return false;
@@ -119,13 +119,13 @@ void RTNAME(SetUnderflowMode)(bool flag) {
_MM_SET_FLUSH_ZERO_MODE(flag ? _MM_FLUSH_ZERO_OFF : _MM_FLUSH_ZERO_ON);
#elif defined(_FPU_GETCW)
uint32_t fpcr;
- _FPU_GETCW(fpcr);
+ __asm__ __volatile__("mrs %w0, fpcr" : "=r"(fpcr));
if (flag) {
fpcr &= ~_FPU_FPCR_FZ_MASK_;
} else {
fpcr |= _FPU_FPCR_FZ_MASK_;
}
- _FPU_SETCW(fpcr);
+ __asm__ __volatile__("msr fpcr, %w0" : : "r"(fpcr));
#endif
}
More information about the flang-commits
mailing list