@@ -44,7 +44,7 @@ public:
44
44
inline static void crossVec3 (const float * v1, const float * v2, float * dst);
45
45
};
46
46
47
- inline void MathUtilNeon64::addMatrix (const float * m, float scalar, float * dst)
47
+ inline void MathUtilNeon64::addMatrix (const float * m, float scalar, float * dst) __attribute__((optnone))
48
48
{
49
49
asm volatile (
50
50
" ld4 {v0.4s, v1.4s, v2.4s, v3.4s}, [%1] \n\t " // M[m0-m7] M[m8-m15]
@@ -62,7 +62,7 @@ inline void MathUtilNeon64::addMatrix(const float* m, float scalar, float* dst)
62
62
);
63
63
}
64
64
65
- inline void MathUtilNeon64::addMatrix (const float * m1, const float * m2, float * dst)
65
+ inline void MathUtilNeon64::addMatrix (const float * m1, const float * m2, float * dst) __attribute__((optnone))
66
66
{
67
67
asm volatile (
68
68
" ld4 {v0.4s, v1.4s, v2.4s, v3.4s}, [%1] \n\t " // M1[m0-m7] M1[m8-m15]
@@ -80,7 +80,7 @@ inline void MathUtilNeon64::addMatrix(const float* m1, const float* m2, float* d
80
80
);
81
81
}
82
82
83
- inline void MathUtilNeon64::subtractMatrix (const float * m1, const float * m2, float * dst)
83
+ inline void MathUtilNeon64::subtractMatrix (const float * m1, const float * m2, float * dst) __attribute__((optnone))
84
84
{
85
85
asm volatile (
86
86
" ld4 {v0.4s, v1.4s, v2.4s, v3.4s}, [%1] \n\t " // M1[m0-m7] M1[m8-m15]
@@ -98,7 +98,7 @@ inline void MathUtilNeon64::subtractMatrix(const float* m1, const float* m2, flo
98
98
);
99
99
}
100
100
101
- inline void MathUtilNeon64::multiplyMatrix (const float * m, float scalar, float * dst)
101
+ inline void MathUtilNeon64::multiplyMatrix (const float * m, float scalar, float * dst) __attribute__((optnone))
102
102
{
103
103
asm volatile (
104
104
" ld1 {v0.s}[0], [%2] \n\t " // s
@@ -116,7 +116,7 @@ inline void MathUtilNeon64::multiplyMatrix(const float* m, float scalar, float*
116
116
);
117
117
}
118
118
119
- inline void MathUtilNeon64::multiplyMatrix (const float * m1, const float * m2, float * dst)
119
+ inline void MathUtilNeon64::multiplyMatrix (const float * m1, const float * m2, float * dst) __attribute__((optnone))
120
120
{
121
121
asm volatile (
122
122
" ld1 {v8.4s, v9.4s, v10.4s, v11.4s}, [%1] \n\t " // M1[m0-m7] M1[m8-m15] M2[m0-m7] M2[m8-m15]
@@ -151,7 +151,7 @@ inline void MathUtilNeon64::multiplyMatrix(const float* m1, const float* m2, flo
151
151
);
152
152
}
153
153
154
- inline void MathUtilNeon64::negateMatrix (const float * m, float * dst)
154
+ inline void MathUtilNeon64::negateMatrix (const float * m, float * dst) __attribute__((optnone))
155
155
{
156
156
asm volatile (
157
157
" ld4 {v0.4s, v1.4s, v2.4s, v3.4s}, [%1] \n\t " // load m0-m7 load m8-m15
@@ -168,7 +168,7 @@ inline void MathUtilNeon64::negateMatrix(const float* m, float* dst)
168
168
);
169
169
}
170
170
171
- inline void MathUtilNeon64::transposeMatrix (const float * m, float * dst)
171
+ inline void MathUtilNeon64::transposeMatrix (const float * m, float * dst) __attribute__((optnone))
172
172
{
173
173
asm volatile (
174
174
" ld4 {v0.4s, v1.4s, v2.4s, v3.4s}, [%1] \n\t " // DST->M[m0, m4, m8, m12] = M[m0-m3]
@@ -180,7 +180,7 @@ inline void MathUtilNeon64::transposeMatrix(const float* m, float* dst)
180
180
);
181
181
}
182
182
183
- inline void MathUtilNeon64::transformVec4 (const float * m, float x, float y, float z, float w, float * dst)
183
+ inline void MathUtilNeon64::transformVec4 (const float * m, float x, float y, float z, float w, float * dst) __attribute__((optnone))
184
184
{
185
185
asm volatile (
186
186
" ld1 {v0.s}[0], [%1] \n\t " // V[x]
@@ -204,7 +204,7 @@ inline void MathUtilNeon64::transformVec4(const float* m, float x, float y, floa
204
204
);
205
205
}
206
206
207
- inline void MathUtilNeon64::transformVec4 (const float * m, const float * v, float * dst)
207
+ inline void MathUtilNeon64::transformVec4 (const float * m, const float * v, float * dst) __attribute__((optnone))
208
208
{
209
209
asm volatile
210
210
(
@@ -223,7 +223,7 @@ inline void MathUtilNeon64::transformVec4(const float* m, const float* v, float*
223
223
);
224
224
}
225
225
226
- inline void MathUtilNeon64::crossVec3 (const float * v1, const float * v2, float * dst)
226
+ inline void MathUtilNeon64::crossVec3 (const float * v1, const float * v2, float * dst) __attribute__((optnone))
227
227
{
228
228
asm volatile (
229
229
" ld1 {v0.2s}, [%2] \n\t "
0 commit comments