Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/Common/Math/fast/fast_matrix.h
3187 views
1
#pragma once
2
3
#include "ppsspp_config.h"
4
5
#ifdef __cplusplus
6
extern "C" {
7
#endif
8
9
// A mini library of 4x4 matrix muls.
10
11
extern void fast_matrix_mul_4x4_c(float *dest, const float *a, const float *b);
12
extern void fast_matrix_mul_4x4_neon(float *dest, const float *a, const float *b);
13
extern void fast_matrix_mul_4x4_sse(float *dest, const float *a, const float *b);
14
extern void fast_matrix_mul_4x4_lsx(float *dest, const float *a, const float *b);
15
16
#if PPSSPP_ARCH(X86) || PPSSPP_ARCH(AMD64)
17
// Hard link to SSE implementations on x86/amd64
18
#define fast_matrix_mul_4x4 fast_matrix_mul_4x4_sse
19
#elif PPSSPP_ARCH(ARM_NEON)
20
#define fast_matrix_mul_4x4 fast_matrix_mul_4x4_neon
21
#elif PPSSPP_ARCH(LOONGARCH64_LSX)
22
#define fast_matrix_mul_4x4 fast_matrix_mul_4x4_lsx
23
#else
24
#define fast_matrix_mul_4x4 fast_matrix_mul_4x4_c
25
#endif
26
27
#ifdef __cplusplus
28
} // extern "C"
29
#endif
30
31