Skip to content

Commit 1eb4e9f

Browse files
authored
[flang] arm build fix (#124562)
1 parent 5592875 commit 1eb4e9f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

flang/runtime/exceptions.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ bool RTNAME(GetUnderflowMode)(void) {
108108
return _MM_GET_FLUSH_ZERO_MODE() == _MM_FLUSH_ZERO_OFF;
109109
#elif defined(_FPU_GETCW)
110110
uint32_t fpcr;
111-
_FPU_GETCW(fpcr);
111+
__asm__ __volatile__("mrs %w0, fpcr" : "=r"(fpcr));
112112
return (fpcr & _FPU_FPCR_FZ_MASK_) != _FPU_FPCR_FZ_MASK_;
113113
#else
114114
return false;
@@ -119,13 +119,13 @@ void RTNAME(SetUnderflowMode)(bool flag) {
119119
_MM_SET_FLUSH_ZERO_MODE(flag ? _MM_FLUSH_ZERO_OFF : _MM_FLUSH_ZERO_ON);
120120
#elif defined(_FPU_GETCW)
121121
uint32_t fpcr;
122-
_FPU_GETCW(fpcr);
122+
__asm__ __volatile__("mrs %w0, fpcr" : "=r"(fpcr));
123123
if (flag) {
124124
fpcr &= ~_FPU_FPCR_FZ_MASK_;
125125
} else {
126126
fpcr |= _FPU_FPCR_FZ_MASK_;
127127
}
128-
_FPU_SETCW(fpcr);
128+
__asm__ __volatile__("msr fpcr, %w0" : : "r"(fpcr));
129129
#endif
130130
}
131131

0 commit comments

Comments
 (0)