📄 sparc_matrix.h
字号:
/* * SPARC assembly matrix code. */#ifndef _SPARC_MATRIX_H#define _SPARC_MATRIX_H#ifdef __arch64__#define LDPTR ldx#define MAT_M 0x00#define MAT_INV 0x08#define V4F_DATA 0x00#define V4F_START 0x08#define V4F_COUNT 0x10#define V4F_STRIDE 0x14#define V4F_SIZE 0x18#define V4F_FLAGS 0x1c#else#define LDPTR ld#define MAT_M 0x00#define MAT_INV 0x04#define V4F_DATA 0x00#define V4F_START 0x04#define V4F_COUNT 0x08#define V4F_STRIDE 0x0c#define V4F_SIZE 0x10#define V4F_FLAGS 0x14#endif#define VEC_SIZE_1 1#define VEC_SIZE_2 3#define VEC_SIZE_3 7#define VEC_SIZE_4 15#define M0 %f16#define M1 %f17#define M2 %f18#define M3 %f19#define M4 %f20#define M5 %f21#define M6 %f22#define M7 %f23#define M8 %f24#define M9 %f25#define M10 %f26#define M11 %f27#define M12 %f28#define M13 %f29#define M14 %f30#define M15 %f31#define LDMATRIX_0_1_2_3_12_13_14_15(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + (12 * 0x4)], M12; \ ldd [BASE + (14 * 0x4)], M14#define LDMATRIX_0_1_12_13(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + (12 * 0x4)], M12#define LDMATRIX_0_12_13(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + (12 * 0x4)], M12#define LDMATRIX_0_1_2_12_13_14(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + (12 * 0x4)], M12; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_12_13_14(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + (12 * 0x4)], M12; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_14(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_1_2_3_4_5_6_7_12_13_14_15(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + ( 4 * 0x4)], M4; \ ldd [BASE + ( 6 * 0x4)], M6; \ ldd [BASE + (12 * 0x4)], M12; \ ldd [BASE + (14 * 0x4)], M14#define LDMATRIX_0_5_12_13(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ldd [BASE + (12 * 0x4)], M12#define LDMATRIX_0_1_2_3_4_5_6_12_13_14(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + ( 4 * 0x4)], M4; \ ld [BASE + ( 6 * 0x4)], M6; \ ldd [BASE + (12 * 0x4)], M12; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_5_12_13_14(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ldd [BASE + (12 * 0x4)], M12; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_5_14(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + ( 4 * 0x4)], M4; \ ldd [BASE + ( 6 * 0x4)], M6; \ ldd [BASE + ( 8 * 0x4)], M8; \ ldd [BASE + (10 * 0x4)], M10; \ ldd [BASE + (12 * 0x4)], M12; \ ldd [BASE + (14 * 0x4)], M14#define LDMATRIX_0_1_4_5_12_13(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ldd [BASE + ( 4 * 0x4)], M4; \ ldd [BASE + (12 * 0x4)], M12#define LDMATRIX_0_5_12_13(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ldd [BASE + (12 * 0x4)], M12#define LDMATRIX_0_1_2_4_5_6_8_9_10(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + ( 4 * 0x4)], M4; \ ld [BASE + ( 6 * 0x4)], M6; \ ldd [BASE + ( 8 * 0x4)], M8; \ ld [BASE + (10 * 0x4)], M10#define LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(BASE) \ ldd [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 2 * 0x4)], M2; \ ldd [BASE + ( 4 * 0x4)], M4; \ ld [BASE + ( 6 * 0x4)], M6; \ ldd [BASE + ( 8 * 0x4)], M8; \ ld [BASE + (10 * 0x4)], M10; \ ldd [BASE + (12 * 0x4)], M12; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_5_10(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ld [BASE + (10 * 0x4)], M10; \#define LDMATRIX_0_5_10_12_13_14(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ld [BASE + (10 * 0x4)], M10; \ ldd [BASE + (12 * 0x4)], M12; \ ld [BASE + (14 * 0x4)], M14#define LDMATRIX_0_5_8_9_10_14(BASE) \ ld [BASE + ( 0 * 0x4)], M0; \ ld [BASE + ( 5 * 0x4)], M5; \ ldd [BASE + ( 8 * 0x4)], M8; \ ld [BASE + (10 * 0x4)], M10; \ ld [BASE + (14 * 0x4)], M14#endif /* !(_SPARC_MATRIX_H) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -