Fix construct_float by changing addiu to ori (#394)

This commit is contained in:
Arceveti
2022-05-02 11:56:04 -07:00
committed by GitHub
parent 031cc24fa6
commit ad3aa42eff

View File

@@ -1506,14 +1506,14 @@ static ALWAYS_INLINE float construct_float(const float f)
: "=r"(r)
: "K"(upper));
} else if ((i & 0xFFFF0000) == 0) {
__asm__ ("addiu %0, $0, %1"
__asm__ ("ori %0, $0, %1"
: "+r"(r)
: "K"(lower));
} else {
__asm__ ("lui %0, %1"
: "=r"(r)
: "K"(upper));
__asm__ ("addiu %0, %0, %1"
__asm__ ("ori %0, %0, %1"
: "+r"(r)
: "K"(lower));
}