Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygensparc_matrix.h
Go to the documentation of this file.
00001 /* 00002 * SPARC assembly matrix code. 00003 */ 00004 00005 #ifndef _SPARC_MATRIX_H 00006 #define _SPARC_MATRIX_H 00007 00008 #ifdef __arch64__ 00009 #define LDPTR ldx 00010 #define MAT_M 0x00 00011 #define MAT_INV 0x08 00012 #define V4F_DATA 0x00 00013 #define V4F_START 0x08 00014 #define V4F_COUNT 0x10 00015 #define V4F_STRIDE 0x14 00016 #define V4F_SIZE 0x18 00017 #define V4F_FLAGS 0x1c 00018 #else 00019 #define LDPTR ld 00020 #define MAT_M 0x00 00021 #define MAT_INV 0x04 00022 #define V4F_DATA 0x00 00023 #define V4F_START 0x04 00024 #define V4F_COUNT 0x08 00025 #define V4F_STRIDE 0x0c 00026 #define V4F_SIZE 0x10 00027 #define V4F_FLAGS 0x14 00028 #endif 00029 00030 #define VEC_SIZE_1 1 00031 #define VEC_SIZE_2 3 00032 #define VEC_SIZE_3 7 00033 #define VEC_SIZE_4 15 00034 00035 #define M0 %f16 00036 #define M1 %f17 00037 #define M2 %f18 00038 #define M3 %f19 00039 #define M4 %f20 00040 #define M5 %f21 00041 #define M6 %f22 00042 #define M7 %f23 00043 #define M8 %f24 00044 #define M9 %f25 00045 #define M10 %f26 00046 #define M11 %f27 00047 #define M12 %f28 00048 #define M13 %f29 00049 #define M14 %f30 00050 #define M15 %f31 00051 00052 #define LDMATRIX_0_1_2_3_12_13_14_15(BASE) \ 00053 ldd [BASE + ( 0 * 0x4)], M0; \ 00054 ldd [BASE + ( 2 * 0x4)], M2; \ 00055 ldd [BASE + (12 * 0x4)], M12; \ 00056 ldd [BASE + (14 * 0x4)], M14 00057 00058 #define LDMATRIX_0_1_12_13(BASE) \ 00059 ldd [BASE + ( 0 * 0x4)], M0; \ 00060 ldd [BASE + (12 * 0x4)], M12 00061 00062 #define LDMATRIX_0_12_13(BASE) \ 00063 ld [BASE + ( 0 * 0x4)], M0; \ 00064 ldd [BASE + (12 * 0x4)], M12 00065 00066 #define LDMATRIX_0_1_2_12_13_14(BASE) \ 00067 ldd [BASE + ( 0 * 0x4)], M0; \ 00068 ld [BASE + ( 2 * 0x4)], M2; \ 00069 ldd [BASE + (12 * 0x4)], M12; \ 00070 ld [BASE + (14 * 0x4)], M14 00071 00072 #define LDMATRIX_0_12_13_14(BASE) \ 00073 ld [BASE + ( 0 * 0x4)], M0; \ 00074 ldd [BASE + (12 * 0x4)], M12; \ 00075 ld [BASE + (14 * 0x4)], M14 00076 00077 #define LDMATRIX_0_14(BASE) \ 00078 ld [BASE + ( 0 * 0x4)], M0; \ 00079 ld [BASE + (14 * 0x4)], M14 00080 00081 #define LDMATRIX_0_1_2_3_4_5_6_7_12_13_14_15(BASE) \ 00082 ldd [BASE + ( 0 * 0x4)], M0; \ 00083 ldd [BASE + ( 2 * 0x4)], M2; \ 00084 ldd [BASE + ( 4 * 0x4)], M4; \ 00085 ldd [BASE + ( 6 * 0x4)], M6; \ 00086 ldd [BASE + (12 * 0x4)], M12; \ 00087 ldd [BASE + (14 * 0x4)], M14 00088 00089 #define LDMATRIX_0_5_12_13(BASE) \ 00090 ld [BASE + ( 0 * 0x4)], M0; \ 00091 ld [BASE + ( 5 * 0x4)], M5; \ 00092 ldd [BASE + (12 * 0x4)], M12 00093 00094 #define LDMATRIX_0_1_2_3_4_5_6_12_13_14(BASE) \ 00095 ldd [BASE + ( 0 * 0x4)], M0; \ 00096 ldd [BASE + ( 2 * 0x4)], M2; \ 00097 ldd [BASE + ( 4 * 0x4)], M4; \ 00098 ld [BASE + ( 6 * 0x4)], M6; \ 00099 ldd [BASE + (12 * 0x4)], M12; \ 00100 ld [BASE + (14 * 0x4)], M14 00101 00102 #define LDMATRIX_0_5_12_13_14(BASE) \ 00103 ld [BASE + ( 0 * 0x4)], M0; \ 00104 ld [BASE + ( 5 * 0x4)], M5; \ 00105 ldd [BASE + (12 * 0x4)], M12; \ 00106 ld [BASE + (14 * 0x4)], M14 00107 00108 #define LDMATRIX_0_5_14(BASE) \ 00109 ld [BASE + ( 0 * 0x4)], M0; \ 00110 ld [BASE + ( 5 * 0x4)], M5; \ 00111 ld [BASE + (14 * 0x4)], M14 00112 00113 #define LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(BASE) \ 00114 ldd [BASE + ( 0 * 0x4)], M0; \ 00115 ldd [BASE + ( 2 * 0x4)], M2; \ 00116 ldd [BASE + ( 4 * 0x4)], M4; \ 00117 ldd [BASE + ( 6 * 0x4)], M6; \ 00118 ldd [BASE + ( 8 * 0x4)], M8; \ 00119 ldd [BASE + (10 * 0x4)], M10; \ 00120 ldd [BASE + (12 * 0x4)], M12; \ 00121 ldd [BASE + (14 * 0x4)], M14 00122 00123 #define LDMATRIX_0_1_4_5_12_13(BASE) \ 00124 ldd [BASE + ( 0 * 0x4)], M0; \ 00125 ldd [BASE + ( 4 * 0x4)], M4; \ 00126 ldd [BASE + (12 * 0x4)], M12 00127 00128 #define LDMATRIX_0_5_12_13(BASE) \ 00129 ld [BASE + ( 0 * 0x4)], M0; \ 00130 ld [BASE + ( 5 * 0x4)], M5; \ 00131 ldd [BASE + (12 * 0x4)], M12 00132 00133 #define LDMATRIX_0_1_2_4_5_6_8_9_10(BASE) \ 00134 ldd [BASE + ( 0 * 0x4)], M0; \ 00135 ld [BASE + ( 2 * 0x4)], M2; \ 00136 ldd [BASE + ( 4 * 0x4)], M4; \ 00137 ld [BASE + ( 6 * 0x4)], M6; \ 00138 ldd [BASE + ( 8 * 0x4)], M8; \ 00139 ld [BASE + (10 * 0x4)], M10 00140 00141 #define LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(BASE) \ 00142 ldd [BASE + ( 0 * 0x4)], M0; \ 00143 ld [BASE + ( 2 * 0x4)], M2; \ 00144 ldd [BASE + ( 4 * 0x4)], M4; \ 00145 ld [BASE + ( 6 * 0x4)], M6; \ 00146 ldd [BASE + ( 8 * 0x4)], M8; \ 00147 ld [BASE + (10 * 0x4)], M10; \ 00148 ldd [BASE + (12 * 0x4)], M12; \ 00149 ld [BASE + (14 * 0x4)], M14 00150 00151 #define LDMATRIX_0_5_10(BASE) \ 00152 ld [BASE + ( 0 * 0x4)], M0; \ 00153 ld [BASE + ( 5 * 0x4)], M5; \ 00154 ld [BASE + (10 * 0x4)], M10; \ 00155 00156 #define LDMATRIX_0_5_10_12_13_14(BASE) \ 00157 ld [BASE + ( 0 * 0x4)], M0; \ 00158 ld [BASE + ( 5 * 0x4)], M5; \ 00159 ld [BASE + (10 * 0x4)], M10; \ 00160 ldd [BASE + (12 * 0x4)], M12; \ 00161 ld [BASE + (14 * 0x4)], M14 00162 00163 #define LDMATRIX_0_5_8_9_10_14(BASE) \ 00164 ld [BASE + ( 0 * 0x4)], M0; \ 00165 ld [BASE + ( 5 * 0x4)], M5; \ 00166 ldd [BASE + ( 8 * 0x4)], M8; \ 00167 ld [BASE + (10 * 0x4)], M10; \ 00168 ld [BASE + (14 * 0x4)], M14 00169 00170 #endif /* !(_SPARC_MATRIX_H) */ Generated on Sun May 27 2012 04:20:41 for ReactOS by
1.7.6.1
|