@@ -414,15 +414,16 @@ namespace lsp
414
414
__ASM_EMIT (" subps %%xmm2, %%xmm5" ) /* xmm5 = 1 - L */ \
415
415
__ASM_EMIT (" cmpps $4, %%xmm2, %%xmm4" ) /* xmm4 = [ L != 0 ] */ \
416
416
__ASM_EMIT (" cmpps $4, 0x30 + %[XC], %%xmm3" ) /* xmm3 = [ L != 1 ] */ \
417
+ __ASM_EMIT (" movaps 0x40 + %[XC], %%xmm6" ) /* xmm6 = 0.5 */ \
417
418
__ASM_EMIT (" divps %%xmm2, %%xmm1" ) /* xmm1 = D / L */ \
418
419
__ASM_EMIT (" divps %%xmm5, %%xmm7" ) /* xmm7 = D / (1-L) */ \
419
- __ASM_EMIT (" cmpps $6, %%xmm2, %%xmm6" ) /* xmm6 = [ L < 1 ] */ \
420
+ __ASM_EMIT (" cmpps $6, %%xmm2, %%xmm6" ) /* xmm6 = [ L < 0.5 ] */ \
420
421
__ASM_EMIT (" andps %%xmm4, %%xmm1" ) /* xmm1 = [ L != 0 ] & (D/L) */ \
421
422
__ASM_EMIT (" andps %%xmm3, %%xmm7" ) /* xmm7 = [ L != 1 ] & (D/(1-L)) */ \
422
- __ASM_EMIT (" andps %%xmm6, %%xmm1" ) /* xmm1 = [ L != 0 ] & [ L < 1 ] & (D/L) */ \
423
+ __ASM_EMIT (" andps %%xmm6, %%xmm1" ) /* xmm1 = [ L != 0 ] & [ L < 0.5 ] & (D/L) */ \
423
424
__ASM_EMIT (" mulps 0x50 + %[XC], %%xmm0" ) /* xmm0 = H = h * 1/6 */ \
424
- __ASM_EMIT (" andnps %%xmm7, %%xmm6" ) /* xmm6 = [ L > 1 ] & (D/(1-L)) */ \
425
- __ASM_EMIT (" orps %%xmm6, %%xmm1" ) /* xmm1 = s = ([ L != 0 ] & [ L < 1 ] & (D/L)) | ([ L != 1 ] & (D/(1-L))) */ \
425
+ __ASM_EMIT (" andnps %%xmm7, %%xmm6" ) /* xmm6 = [ L > 0.5 ] & (D/(1-L)) */ \
426
+ __ASM_EMIT (" orps %%xmm6, %%xmm1" ) /* xmm1 = s = ([ L != 0 ] & [ L < 0.5 ] & (D/L)) | ([ L != 1 ] & (D/(1-L))) */ \
426
427
__ASM_EMIT (" movaps 0x30(%[RGBM]), %%xmm3" ) /* xmm3 = A */ \
427
428
__ASM_EMIT (" mulps 0x40 + %[XC], %%xmm1" ) /* xmm1 = S = s * 0.5 */ \
428
429
\
0 commit comments