Line
Link Here
|
0 |
-- src/arch/i386/x86_floatmul.c |
0 |
++ src/arch/i386/x86_floatmul.c |
Lines 27-32
Link Here
|
27 |
/* MMX routine needs 16 */ |
27 |
/* MMX routine needs 16 */ |
28 |
#define SCALING_POWER 16 |
28 |
#define SCALING_POWER 16 |
29 |
#define SCALING_FACTOR (1 << SCALING_POWER) |
29 |
#define SCALING_FACTOR (1 << SCALING_POWER) |
|
|
30 |
#define MIN_ENTER_SIMD_LEN 48 |
30 |
|
31 |
|
31 |
void _alFloatMul(ALshort *bpt, ALfloat sa, ALuint len); |
32 |
void _alFloatMul(ALshort *bpt, ALfloat sa, ALuint len); |
32 |
|
33 |
|
Lines 34-39
Link Here
|
34 |
ALint scaled_sa = sa * SCALING_FACTOR; |
35 |
ALint scaled_sa = sa * SCALING_FACTOR; |
35 |
ALint iter; |
36 |
ALint iter; |
36 |
|
37 |
|
|
|
38 |
if (len < MIN_ENTER_SIMD_LEN) |
39 |
goto skip_simd; |
37 |
#ifdef __MMX__ |
40 |
#ifdef __MMX__ |
38 |
if (_alHaveMMX()) { |
41 |
if (_alHaveMMX()) { |
39 |
union { |
42 |
union { |
Lines 93-98
Link Here
|
93 |
__builtin_ia32_emms(); |
96 |
__builtin_ia32_emms(); |
94 |
} |
97 |
} |
95 |
#endif /* __MMX__ */ |
98 |
#endif /* __MMX__ */ |
|
|
99 |
skip_simd: |
96 |
|
100 |
|
97 |
while(len--) { |
101 |
while(len--) { |
98 |
iter = *bpt; |
102 |
iter = *bpt; |