ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

sparc_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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.