Mercurial > sdl-ios-xcode
comparison src/audio/SDL_mixer_MMX.c @ 1411:efb34e597d21
Fixed assembly alignment error on Intel Macs.
Do we really need 16-bit alignment here?
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 21 Feb 2006 19:28:45 +0000 |
parents | d910939febfa |
children | 97d0966f4bf7 |
comparison
equal
deleted
inserted
replaced
1410:93c48ff6d41f | 1411:efb34e597d21 |
---|---|
57 " psllq $16,%%mm0\n" | 57 " psllq $16,%%mm0\n" |
58 " por %%mm1,%%mm0\n" | 58 " por %%mm1,%%mm0\n" |
59 " psllq $16,%%mm0\n" | 59 " psllq $16,%%mm0\n" |
60 " por %%mm1,%%mm0\n" // mm0 = vol|vol|vol|vol | 60 " por %%mm1,%%mm0\n" // mm0 = vol|vol|vol|vol |
61 | 61 |
62 ".align 16\n" | 62 ".align 8\n" |
63 " .mixloopS16:\n" | 63 " .mixloopS16:\n" |
64 | 64 |
65 " movq (%1),%%mm1\n" // mm1 = a|b|c|d | 65 " movq (%1),%%mm1\n" // mm1 = a|b|c|d |
66 | 66 |
67 " movq %%mm1,%%mm2\n" // mm2 = a|b|c|d | 67 " movq %%mm1,%%mm2\n" // mm2 = a|b|c|d |
157 " shr $3,%%edx\n" // process 8 bytes per iteration = 8 samples | 157 " shr $3,%%edx\n" // process 8 bytes per iteration = 8 samples |
158 | 158 |
159 " cmp $0,%%edx\n" | 159 " cmp $0,%%edx\n" |
160 " je .endS8\n" | 160 " je .endS8\n" |
161 | 161 |
162 ".align 16\n" | 162 ".align 8\n" |
163 " .mixloopS8:\n" | 163 " .mixloopS8:\n" |
164 | 164 |
165 " pxor %%mm2,%%mm2\n" // mm2 = 0 | 165 " pxor %%mm2,%%mm2\n" // mm2 = 0 |
166 " movq (%1),%%mm1\n" // mm1 = a|b|c|d|e|f|g|h | 166 " movq (%1),%%mm1\n" // mm1 = a|b|c|d|e|f|g|h |
167 | 167 |