Contents of /trunk/openal/patches/openal-20060211-mmx.patch
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 569 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 569 byte(s)
-import
1 | --- src/arch/i386/x86_floatmul.c |
2 | +++ src/arch/i386/x86_floatmul.c |
3 | @@ -27,6 +27,7 @@ |
4 | /* MMX routine needs 16 */ |
5 | #define SCALING_POWER 16 |
6 | #define SCALING_FACTOR (1 << SCALING_POWER) |
7 | +#define MIN_ENTER_SIMD_LEN 48 |
8 | |
9 | void _alFloatMul(ALshort *bpt, ALfloat sa, ALuint len); |
10 | |
11 | @@ -34,6 +35,8 @@ |
12 | ALint scaled_sa = sa * SCALING_FACTOR; |
13 | ALint iter; |
14 | |
15 | + if (len < MIN_ENTER_SIMD_LEN) |
16 | + goto skip_simd; |
17 | #ifdef __MMX__ |
18 | if (_alHaveMMX()) { |
19 | union { |
20 | @@ -93,6 +96,7 @@ |
21 | __builtin_ia32_emms(); |
22 | } |
23 | #endif /* __MMX__ */ |
24 | +skip_simd: |
25 | |
26 | while(len--) { |
27 | iter = *bpt; |