Skip to content

Commit bcf4ab9

Browse files
committed
Come up with LOAD_AND_COMPARE_TO_MXX macro in iamax_sse.S.
1 parent 0ce8d29 commit bcf4ab9

File tree

1 file changed

+17
-55
lines changed

1 file changed

+17
-55
lines changed

kernel/x86_64/iamax_sse.S

Lines changed: 17 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@
5555
#define MAXSS minss
5656
#endif
5757

58+
.macro LOAD_AND_COMPARE_TO_MXX REG
59+
movss 0 * SIZE(X), \REG
60+
addq INCX, X
61+
#ifdef USE_ABS
62+
andps %xmm15, \REG
63+
#endif
64+
cmpeqss %xmm0, \REG
65+
.endm
66+
5867
#include "l1param.h"
5968

6069
PROLOGUE
@@ -826,61 +835,14 @@
826835
ALIGN_4
827836

828837
.L93:
829-
movss 0 * SIZE(X), %xmm1
830-
addq INCX, X
831-
#ifdef USE_ABS
832-
andps %xmm15, %xmm1
833-
#endif
834-
cmpeqss %xmm0, %xmm1
835-
836-
movss 0 * SIZE(X), %xmm2
837-
addq INCX, X
838-
#ifdef USE_ABS
839-
andps %xmm15, %xmm2
840-
#endif
841-
cmpeqss %xmm0, %xmm2
842-
843-
movss 0 * SIZE(X), %xmm3
844-
addq INCX, X
845-
#ifdef USE_ABS
846-
andps %xmm15, %xmm3
847-
#endif
848-
cmpeqss %xmm0, %xmm3
849-
850-
movss 0 * SIZE(X), %xmm4
851-
addq INCX, X
852-
#ifdef USE_ABS
853-
andps %xmm15, %xmm4
854-
#endif
855-
cmpeqss %xmm0, %xmm4
856-
857-
movss 0 * SIZE(X), %xmm5
858-
addq INCX, X
859-
#ifdef USE_ABS
860-
andps %xmm15, %xmm5
861-
#endif
862-
cmpeqss %xmm0, %xmm5
863-
864-
movss 0 * SIZE(X), %xmm6
865-
addq INCX, X
866-
#ifdef USE_ABS
867-
andps %xmm15, %xmm6
868-
#endif
869-
cmpeqss %xmm0, %xmm6
870-
871-
movss 0 * SIZE(X), %xmm7
872-
addq INCX, X
873-
#ifdef USE_ABS
874-
andps %xmm15, %xmm7
875-
#endif
876-
cmpeqss %xmm0, %xmm7
877-
878-
movss 0 * SIZE(X), %xmm8
879-
addq INCX, X
880-
#ifdef USE_ABS
881-
andps %xmm15, %xmm8
882-
#endif
883-
cmpeqss %xmm0, %xmm8
838+
LOAD_AND_COMPARE_TO_MXX %xmm1
839+
LOAD_AND_COMPARE_TO_MXX %xmm2
840+
LOAD_AND_COMPARE_TO_MXX %xmm3
841+
LOAD_AND_COMPARE_TO_MXX %xmm4
842+
LOAD_AND_COMPARE_TO_MXX %xmm5
843+
LOAD_AND_COMPARE_TO_MXX %xmm6
844+
LOAD_AND_COMPARE_TO_MXX %xmm7
845+
LOAD_AND_COMPARE_TO_MXX %xmm8
884846

885847
orps %xmm2, %xmm1
886848
orps %xmm4, %xmm3

0 commit comments

Comments
 (0)