project cleanup (#2895)

* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
This commit is contained in:
TakaRikka
2025-11-30 14:23:42 -08:00
committed by GitHub
parent 434415337d
commit a6e76c0841
2375 changed files with 24683 additions and 71069 deletions
+23 -16
View File
@@ -12,42 +12,49 @@ void JMAVECScaleAdd(register const Vec* vec1, register const Vec* vec2, register
register f32 scale);
inline int JMAAbs(int value) {
#ifdef __MWERKS__
return __abs(value);
#endif
}
inline f32 JMAFastReciprocal(f32 value) {
#ifdef __MWERKS__
return __fres(value);
#endif
}
inline float __frsqrtes(register double f) {
#ifdef __MWERKS__
register float out;
// clang-format off
#ifdef __MWERKS__
asm {
frsqrte out, f
}
#endif
// clang-format on
return out;
#endif
}
inline f32 JMAFastSqrt(register f32 input) {
#ifdef __MWERKS__
if (input > 0.0f) {
register f32 out;
#ifdef __MWERKS__
asm {
frsqrte out, input
}
#endif
return out * input;
} else {
return input;
}
#endif
}
inline f32 JMAHermiteInterpolation(register f32 p1, register f32 p2, register f32 p3,
register f32 p4, register f32 p5, register f32 p6,
register f32 p7) {
#ifdef __MWERKS__
register f32 ff25;
register f32 ff31;
register f32 ff30;
@@ -56,7 +63,6 @@ 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
@@ -73,9 +79,9 @@ inline f32 JMAHermiteInterpolation(register f32 p1, register f32 p2, register f3
fnmsubs ff25,ff31,ff25,ff26
}
#endif
// clang-format on
return ff25;
#endif
}
namespace JMath {
@@ -94,9 +100,9 @@ inline void fastVECNormalize(const Vec* src, Vec* dst) {
}
inline void gekko_ps_copy3(register void* dst, register const void* src) {
#ifdef __MWERKS__
register f32 src0;
register f32 src1;
#ifdef __MWERKS__
asm {
psq_l src0, 0(src), 0, 0
lfs src1, 8(src)
@@ -107,10 +113,10 @@ inline void gekko_ps_copy3(register void* dst, register const void* src) {
}
inline void gekko_ps_copy6(register void* dst, register const void* src) {
#ifdef __MWERKS__
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
@@ -123,13 +129,13 @@ inline void gekko_ps_copy6(register void* dst, register const void* src) {
}
inline void gekko_ps_copy12(register void* dst, register const void* src) {
#ifdef __MWERKS__
register f32 src0;
register f32 src1;
register f32 src2;
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
@@ -148,6 +154,7 @@ inline void gekko_ps_copy12(register void* dst, register const void* src) {
}
inline void gekko_ps_copy16(register void* dst, register const void* src) {
#ifdef __MWERKS__
register f32 src0;
register f32 src1;
register f32 src2;
@@ -156,7 +163,6 @@ 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
@@ -182,12 +188,12 @@ inline void gekko_ps_copy16(register void* dst, register const void* src) {
namespace JMathInlineVEC {
inline void C_VECAdd(register const Vec* a, register const Vec* b, register Vec* ab) {
#ifdef __MWERKS__
register f32 axy;
register f32 bxy;
register f32 az;
register f32 sumz;
register f32 bz;
#ifdef __MWERKS__
asm {
psq_l axy, 0(a), 0, 0
psq_l bxy, 0(b), 0, 0
@@ -202,12 +208,12 @@ namespace JMathInlineVEC {
}
inline void C_VECSubtract(register const Vec* a, register const Vec* b, register Vec* ab) {
#ifdef __MWERKS__
register f32 axy;
register f32 bxy;
register f32 az;
register f32 subz;
register f32 bz;
#ifdef __MWERKS__
asm {
psq_l axy, 0(a), 0, 0
psq_l bxy, 0(b), 0, 0
@@ -222,10 +228,11 @@ namespace JMathInlineVEC {
}
inline f32 C_VECSquareMag(register const Vec* v) {
#ifdef __MWERKS__
register f32 x_y;
register f32 z;
register f32 res;
#ifdef __MWERKS__
asm {
psq_l x_y, 0(v), 0, 0
ps_mul x_y, x_y, x_y
@@ -233,17 +240,17 @@ namespace JMathInlineVEC {
ps_madd res, z, z, x_y
ps_sum0 res, res, x_y, x_y
}
#endif
return res;
#endif
}
inline f32 C_VECDotProduct(register const Vec *a, register const Vec *b) {
#ifdef __MWERKS__
register f32 res;
register f32 thisyz;
register f32 otheryz;
register f32 otherxy;
register f32 thisxy;
#ifdef __MWERKS__
asm {
psq_l thisyz, 4(a), 0, 0
psq_l otheryz, 4(b), 0, 0
@@ -253,8 +260,8 @@ namespace JMathInlineVEC {
ps_madd otheryz, thisxy, otherxy, thisyz
ps_sum0 res, otheryz, thisyz, thisyz
};
#endif
return res;
#endif
}
};