diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-01-27 01:01:05 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-26 22:01:05 -0800 |
| commit | bf4053fefa301a307065a07ffc4c3f9f970f2638 (patch) | |
| tree | afc005dc11ce0d21654c5023349ab074683a1f30 /include/JSystem/JMath | |
| parent | 5644936254b6617875c5a55caeae3e2526849d5a (diff) | |
Fix spurious differences when using `ninja diff` (#2294)
* Fix spurious differences when using ninja diff
* Fix some clangd errors/warnings
Diffstat (limited to 'include/JSystem/JMath')
| -rw-r--r-- | include/JSystem/JMath/JMath.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index e37460e115..0968feed00 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -2,6 +2,7 @@ #define JMATH_H #include "dolphin/mtx.h" +#include "math.h" void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32); void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3); @@ -21,9 +22,11 @@ inline f32 JMAFastReciprocal(f32 value) { inline float __frsqrtes(register double f) { register float out; // clang-format off +#ifdef __MWERKS__ asm { frsqrte out, f } +#endif // clang-format on return out; } @@ -31,9 +34,11 @@ inline float __frsqrtes(register double f) { inline f32 JMAFastSqrt(register f32 input) { if (input > 0.0f) { register f32 out; +#ifdef __MWERKS__ asm { frsqrte out, input } +#endif return out * input; } else { return input; @@ -51,6 +56,7 @@ inline f32 JMAHermiteInterpolation(register f32 p1, register f32 p2, register f3 register f32 ff27; register f32 ff26; // clang-format off +#ifdef __MWERKS__ asm { fsubs ff31, p1, p2 fsubs ff30, p5, p2 @@ -67,6 +73,7 @@ inline f32 JMAHermiteInterpolation(register f32 p1, register f32 p2, register f3 fnmsubs ff25,ff31,ff25,ff26 } +#endif // clang-format on return ff25; } @@ -80,18 +87,21 @@ inline f32 fastReciprocal(f32 value) { inline void gekko_ps_copy3(register void* dst, register const void* src) { register f32 src0; register f32 src1; +#ifdef __MWERKS__ asm { psq_l src0, 0(src), 0, 0 lfs src1, 8(src) psq_st src0, 0(dst), 0, 0 stfs src1, 8(dst) }; +#endif } inline void gekko_ps_copy6(register void* dst, register const void* src) { register f32 src0; register f32 src1; register f32 src2; +#ifdef __MWERKS__ asm { psq_l src0, 0(src), 0, 0 psq_l src1, 8(src), 0, 0 @@ -100,6 +110,7 @@ inline void gekko_ps_copy6(register void* dst, register const void* src) { psq_st src1, 8(dst), 0, 0 psq_st src2, 16(dst), 0, 0 }; +#endif } inline void gekko_ps_copy12(register void* dst, register const void* src) { @@ -109,6 +120,7 @@ inline void gekko_ps_copy12(register void* dst, register const void* src) { register f32 src3; register f32 src4; register f32 src5; +#ifdef __MWERKS__ asm { psq_l src0, 0(src), 0, 0 psq_l src1, 8(src), 0, 0 @@ -123,6 +135,7 @@ inline void gekko_ps_copy12(register void* dst, register const void* src) { psq_st src4, 32(dst), 0, 0 psq_st src5, 40(dst), 0, 0 }; +#endif } inline void gekko_ps_copy16(register void* dst, register const void* src) { @@ -134,6 +147,7 @@ inline void gekko_ps_copy16(register void* dst, register const void* src) { register f32 src5; register f32 src6; register f32 src7; +#ifdef __MWERKS__ asm { psq_l src0, 0(src), 0, 0 psq_l src1, 8(src), 0, 0 @@ -152,6 +166,7 @@ inline void gekko_ps_copy16(register void* dst, register const void* src) { psq_st src6, 48(dst), 0, 0 psq_st src7, 56(dst), 0, 0 }; +#endif } }; // namespace JMath |
