[libunwind] [libunwind][MIPS] Add o32 single-float support (PR #218994)

via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 28 10:00:54 PDT 2026


================
@@ -3176,7 +3205,12 @@ inline bool Registers_mips_o32::validFloatRegister(int regNum) const {
 }
 
 inline double Registers_mips_o32::getFloatRegister(int regNum) const {
-#if defined(__mips_hard_float) && __mips_fpr == 64
+#if defined(__mips_hard_float) && defined(__mips_single_float)
+  assert(validFloatRegister(regNum));
+  float result;
+  memcpy(&result, &_floats[regNum - UNW_MIPS_F0], sizeof(result));
+  return result;
+#elif defined(__mips_hard_float) && __mips_fpr == 64
----------------
ItsNoHax wrote:

Done, folded the same way (and validFloatRegister too, to match validRegister).

https://github.com/llvm/llvm-project/pull/218994


More information about the cfe-commits mailing list