Come up with LOAD_AND_COMPARE_TO_MXX macro in iamax_sse.S.

This commit is contained in:
Martin Liska 2020-02-13 14:42:45 +01:00
parent 18bcc36a69
commit aeea14ee40
No known key found for this signature in database
GPG Key ID: 4DC182DC0FA73785
1 changed files with 17 additions and 55 deletions

View File

@ -55,6 +55,15 @@
#define MAXSS minss #define MAXSS minss
#endif #endif
.macro LOAD_AND_COMPARE_TO_MXX REG
movss 0 * SIZE(X), \REG
addq INCX, X
#ifdef USE_ABS
andps %xmm15, \REG
#endif
cmpeqss %xmm0, \REG
.endm
#include "l1param.h" #include "l1param.h"
PROLOGUE PROLOGUE
@ -826,61 +835,14 @@
ALIGN_4 ALIGN_4
.L93: .L93:
movss 0 * SIZE(X), %xmm1 LOAD_AND_COMPARE_TO_MXX %xmm1
addq INCX, X LOAD_AND_COMPARE_TO_MXX %xmm2
#ifdef USE_ABS LOAD_AND_COMPARE_TO_MXX %xmm3
andps %xmm15, %xmm1 LOAD_AND_COMPARE_TO_MXX %xmm4
#endif LOAD_AND_COMPARE_TO_MXX %xmm5
cmpeqss %xmm0, %xmm1 LOAD_AND_COMPARE_TO_MXX %xmm6
LOAD_AND_COMPARE_TO_MXX %xmm7
movss 0 * SIZE(X), %xmm2 LOAD_AND_COMPARE_TO_MXX %xmm8
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm2
#endif
cmpeqss %xmm0, %xmm2
movss 0 * SIZE(X), %xmm3
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm3
#endif
cmpeqss %xmm0, %xmm3
movss 0 * SIZE(X), %xmm4
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm4
#endif
cmpeqss %xmm0, %xmm4
movss 0 * SIZE(X), %xmm5
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm5
#endif
cmpeqss %xmm0, %xmm5
movss 0 * SIZE(X), %xmm6
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm6
#endif
cmpeqss %xmm0, %xmm6
movss 0 * SIZE(X), %xmm7
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm7
#endif
cmpeqss %xmm0, %xmm7
movss 0 * SIZE(X), %xmm8
addq INCX, X
#ifdef USE_ABS
andps %xmm15, %xmm8
#endif
cmpeqss %xmm0, %xmm8
orps %xmm2, %xmm1 orps %xmm2, %xmm1
orps %xmm4, %xmm3 orps %xmm4, %xmm3