Home | History | Annotate | Download | only in arch

Lines Matching full:matrix

12 // The SSE code for the 4x4 float and double matrix inverse in this file
14 // http://software.intel.com/en-us/articles/optimized-matrix-library-for-use-with-the-intel-pentiumr-4-processors-sse2-instructions/
43 static void run(const MatrixType& matrix, ResultType& result)
47 // Load the full matrix into registers
48 __m128 _L1 = matrix.template packet<MatrixAlignment>( 0);
49 __m128 _L2 = matrix.template packet<MatrixAlignment>( 4);
50 __m128 _L3 = matrix.template packet<MatrixAlignment>( 8);
51 __m128 _L4 = matrix.template packet<MatrixAlignment>(12);
54 // original matrix is divide into four 2x2 sub-matrices. Since each
55 // register holds four matrix element, the smaller matrices are
170 static void run(const MatrixType& matrix, ResultType& result)
176 // original matrix is divide into four 2x2 sub-matrices. Since each
177 // register of the matrix holds two element, the smaller matrices are
186 A1 = matrix.template packet<MatrixAlignment>( 0); B1 = matrix.template packet<MatrixAlignment>( 2);
187 A2 = matrix.template packet<MatrixAlignment>( 4); B2 = matrix.template packet<MatrixAlignment>( 6);
188 C1 = matrix.template packet<MatrixAlignment>( 8); D1 = matrix.template packet<MatrixAlignment>(10);
189 C2 = matrix.template packet<MatrixAlignment>(12); D2 = matrix.template packet<MatrixAlignment>(14);
194 A1 = matrix.template packet<MatrixAlignment>( 0); C1 = matrix.template packet<MatrixAlignment>( 2);
195 A2 = matrix.template packet<MatrixAlignment>( 4); C2 = matrix.template packet<MatrixAlignment>( 6);
203 B1 = matrix.template packet<MatrixAlignment>( 8); D1 = matrix.template packet<MatrixAlignment>(10);
204 B2 = matrix.template packet<MatrixAlignment>(12); D2 = matrix.template packet<MatrixAlignment>(14);