Overview
Comment: | OFMatrix4x4: SSE1 for -[transformVectors:count:]
This new SSE1 implementation is better than the SSE4.1 implementation, |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
cf955413ab50878499914c5bdda3bd1d |
User & Date: | js on 2023-11-06 00:59:37 |
Other Links: | manifest | tags |
Context
2023-11-06
| ||
20:11 | OFMatrix4x4: Fix missing vector reload in SSE check-in: 9ba7594f7b user: js tags: trunk | |
00:59 | OFMatrix4x4: SSE1 for -[transformVectors:count:] check-in: cf955413ab user: js tags: trunk | |
2023-11-05
| ||
18:18 | OFMatrix4x4: Unroll inner loop in 3DNow! version check-in: 3280466d35 user: js tags: trunk | |
Changes
Modified src/OFMatrix4x4.m from [b31d5e9464] to [ac56c8b767].
︙ | |||
28 29 30 31 32 33 34 | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | - + - + + + - + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + | { 0, 0, 0, 1 } }; @implementation OFMatrix4x4 #if (defined(OF_AMD64) || defined(OF_X86)) && defined(__GNUC__) # ifndef __clang__ # pragma GCC push_options |
︙ | |||
205 206 207 208 209 210 211 | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | - + - + | return; # define REPLACE(selector, func) \ typeEncoding = method_getTypeEncoding( \ class_getInstanceMethod(self, selector)); \ class_replaceMethod(self, selector, (IMP)func, typeEncoding); |
︙ |