]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
erasure-code: Update ISA-L to 2.14 5503/head
authorYuan Zhou <yuan.zhou@intel.com>
Fri, 7 Aug 2015 03:51:27 +0000 (11:51 +0800)
committerYuan Zhou <yuan.zhou@intel.com>
Mon, 17 Aug 2015 05:35:50 +0000 (13:35 +0800)
Ceph requires all .s files to annotated to assert that stack
should not be executable. see bug #10114, f60da6b and 06a245a.
In ISA-L 2.14 this issue gets fixed.
(see src/erasure-code/isa/isa-l/include/reg_sizes.asm:L102-L106)

Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
43 files changed:
src/erasure-code/isa/CMakeLists.txt
src/erasure-code/isa/Makefile.am
src/erasure-code/isa/isa-l/erasure_code/ec_multibinary.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_2vect_dot_prod_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_2vect_dot_prod_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_2vect_mad_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_2vect_mad_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_2vect_mad_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_3vect_dot_prod_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_3vect_dot_prod_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_3vect_mad_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_3vect_mad_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_3vect_mad_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_4vect_dot_prod_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_4vect_dot_prod_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_4vect_mad_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_4vect_mad_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_4vect_mad_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_5vect_dot_prod_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_5vect_dot_prod_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_5vect_mad_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_5vect_mad_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_5vect_mad_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_6vect_dot_prod_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_6vect_dot_prod_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_6vect_mad_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_6vect_mad_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_6vect_mad_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_mad_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_mad_avx2.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_mad_sse.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_mul_avx.asm.s
src/erasure-code/isa/isa-l/erasure_code/gf_vect_mul_sse.asm.s
src/erasure-code/isa/isa-l/include/reg_sizes.asm
src/erasure-code/isa/isa-l/include/types.h

index 48605c1d431b4d8a6bc9f99d2d50e44b949668b8..099cc727322a00fd48df663af9b31acd74cf3f6a 100644 (file)
@@ -54,5 +54,5 @@ set(isa_srcs
 add_library(ec_isa SHARED ${isa_srcs})
 add_dependencies(ec_isa ${CMAKE_SOURCE_DIR}/src/ceph_ver.h)
 target_link_libraries(ec_isa ${EXTRALIBS})
-set_target_properties(ec_isa PROPERTIES VERSION 2.10.0 SOVERSION 2)
+set_target_properties(ec_isa PROPERTIES VERSION 2.14.0 SOVERSION 2)
 install(TARGETS ec_isa DESTINATION lib/erasure-code)
index b36b8a6daf736f2c19421744df469431cf16b59c..67725dd51572cd65c69b79a6c7b698e147421fb3 100644 (file)
@@ -67,7 +67,7 @@ libec_isa_la_CXXFLAGS = ${AM_CXXFLAGS} -I $(srcdir)/erasure-code/isa/isa-l/inclu
 libec_isa_la_CCASFLAGS = ${AM_CCASFLAGS} -I $(abs_srcdir)/erasure-code/isa/isa-l/include/
 
 libec_isa_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
-libec_isa_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:13:0
+libec_isa_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:14:0
 if LINUX
 libec_isa_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
 endif
index 62414a969c352aeb91d62919cd3879ce38177974..03f501a1bb9d22269ccab0dd0e0ec355d1cf53a1 100644 (file)
@@ -387,20 +387,9 @@ _done_gf_vect_mad_init:
        pop     arg1
        ret
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
-
 ;;;       func                                 core, ver, snum
-slversion ec_encode_data,              00,   03,  0133
-slversion gf_vect_mul,                 00,   02,  0134
-slversion ec_encode_data_update,       00,   02,  0212
-slversion gf_vect_dot_prod,            00,   02,  0138
-slversion gf_vect_mad,                 00,   01,  0213
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion ec_encode_data,              00,   04,  0133
+slversion gf_vect_mul,                 00,   03,  0134
+slversion ec_encode_data_update,       00,   03,  0212
+slversion gf_vect_dot_prod,            00,   03,  0138
+slversion gf_vect_mad,                 00,   02,  0213
index 964d05aadf676c44505fe301a80b9efeb1a1d301..db1e1c550cd1bd8eb81af26ee253064875c803dc 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_2vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -331,15 +333,5 @@ section .data
 align 16
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_2vect_dot_prod_avx, 02,  04,  0191
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_2vect_dot_prod_avx, 02,  05,  0191
index 7b60b54eaeedec02be456d3bdc479ed57fcae8e7..0387893fcd0ae3c370e95160378936559950662d 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_2vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -350,15 +352,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                   core, ver, snum
-slversion gf_2vect_dot_prod_avx2, 04,  04,  0196
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_2vect_dot_prod_avx2, 04,  05,  0196
index a9c54d5f47258a607007d9177586eba315239027..95dd92ad8d57508e2c1dcbc912cb6afad48b71f0 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_2vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -333,15 +335,5 @@ section .data
 align 16
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_2vect_dot_prod_sse, 00,  03,  0062
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_2vect_dot_prod_sse, 00,  04,  0062
index f057182fcfac985f8e4e87ecdff36d8db6c137f3..e18238130a4a09aa65209982dd2539a0f8828261 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_2vect_mad_avx(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -230,15 +232,5 @@ section .data
 align 16
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_2vect_mad_avx, 02,  00,  0204
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_2vect_mad_avx, 02,  01,  0204
index b692084acf90336278d676439b4be8fe786679b3..03902f4744ec3d8868e13fdd20a3e210f661c908 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_2vect_mad_avx2(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -241,15 +243,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func              core, ver, snum
-slversion gf_2vect_mad_avx2, 04,  00,  0205
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_2vect_mad_avx2, 04,  01,  0205
index a7753e7130e4505cde500a7938b1309c79c66006..2e82c5a665710f34c88e379de5e5907957152001 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_2vect_mad_sse(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -233,15 +235,5 @@ align 16
 mask0f:
        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_2vect_mad_sse, 00,  00,  0203
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_2vect_mad_sse, 00,  01,  0203
index 5ebcc4b42ac999183db14f08cc6c851fa6c0bee2..33fc1983762e60e11c410d51412d1bcf753d14ff 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_3vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -371,15 +373,5 @@ section .data
 align 16
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_3vect_dot_prod_avx, 02,  04,  0192
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_3vect_dot_prod_avx, 02,  05,  0192
index 01ba72a921053d9358ca032d247249f4246b3143..23c46a79816cc30dc1c861f0c84158b277b83410 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_3vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -391,15 +393,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                   core, ver, snum
-slversion gf_3vect_dot_prod_avx2, 04,  04,  0197
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_3vect_dot_prod_avx2, 04,  05,  0197
index 86999023d7b1f508af6f94859e720645dfd051bb..a082fb8516c19ec953a31d378817bbd954ed3b06 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_3vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -372,15 +374,5 @@ section .data
 align 16
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_3vect_dot_prod_sse, 00,  05,  0063
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_3vect_dot_prod_sse, 00,  06,  0063
index 1bc03316182dbfed4e3bc530b55405333694affa..ed25d6a67102a35211487119bde81dd579d25e71 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_3vect_mad_avx(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -282,15 +284,5 @@ mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_3vect_mad_avx, 02,  00,  0207
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_3vect_mad_avx, 02,  01,  0207
index 4f1e34d4d457e36eb97e2507f24ff4b3a4a462f4..d0b9272cdff3cd681b4bc1ffb7ee3a1b472f1eb5 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_3vect_mad_avx2(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -311,15 +313,5 @@ constip32:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
        ddq 0xe0e1e2e3e4e5e6e7e8e9eaebecedeeef
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func              core, ver, snum
-slversion gf_3vect_mad_avx2, 04,  00,  0208
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_3vect_mad_avx2, 04,  01,  0208
index 73d33a2d67f8a1db847b800e0305deabadd876d0..a06eb3d1407f6b50567b0db717e9fa78e7803e05 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_3vect_mad_sse(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 %ifidn __OUTPUT_FORMAT__, win64
  %define arg0  rcx
@@ -292,15 +294,5 @@ mask0f:
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_3vect_mad_sse, 00,  00,  0206
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_3vect_mad_sse, 00,  01,  0206
index c85c12d64075f39e1099e946b1270ec1c2cf5b1e..9863012bcf8e32d04c597a570fea2ac9aa7f1b70 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_4vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -435,15 +437,5 @@ section .data
 align 16
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_4vect_dot_prod_avx, 02,  04,  0193
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_4vect_dot_prod_avx, 02,  05,  0193
index a3b73e1761bc35a1b88b1d62b514b9e13be41e85..95aa8eb7c627321cef982c55873579862397280e 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_4vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -454,15 +456,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                   core, ver, snum
-slversion gf_4vect_dot_prod_avx2, 04,  04,  0198
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_4vect_dot_prod_avx2, 04,  05,  0198
index 67b709ab5bb2b371733f191477b9c7e9e21aeff0..2867cca0ea2ab8e5c4fe93fdde154f547e1c99c5 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_4vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -437,15 +439,5 @@ section .data
 align 16
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_4vect_dot_prod_sse, 00,  05,  0064
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_4vect_dot_prod_sse, 00,  06,  0064
index 03b69feefe7b25851a1e66d75c0eb1d9f9e10577..5b2891628656d770b962b15fbe821ff7c8641fa2 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_4vect_mad_avx(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -330,16 +332,5 @@ mask0f:    ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_4vect_mad_avx, 02,  00,  020a
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_4vect_mad_avx, 02,  01,  020a
index 93a3eca3582b3dfc12d453987655edf7ef955229..5df1f83852581f7eb4c4a995d25d5dd76e7bdaa0 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_4vect_mad_avx2(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -336,15 +338,5 @@ constip32:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
        ddq 0xe0e1e2e3e4e5e6e7e8e9eaebecedeeef
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func              core, ver, snum
-slversion gf_4vect_mad_avx2, 04,  00,  020b
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_4vect_mad_avx2, 04,  01,  020b
index 47c7df39314e4fe598a8736aabb436e96f0d334a..f753c1309f5cad11ef08ff22ca56f2243d7c9658 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_4vect_mad_sse(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -336,15 +338,5 @@ mask0f:
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_4vect_mad_sse, 00,  00,  0209
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_4vect_mad_sse, 00,  01,  0209
index a28d8115660fc8d305027aabd5c8e5da47928b4e..41fd301d300a8d1995f73ec3363ac370e8266faf 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_5vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -297,15 +299,5 @@ section .data
 align 16
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_5vect_dot_prod_avx, 02,  03,  0194
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_5vect_dot_prod_avx, 02,  04,  0194
index 0c5e113830546f444ff3f339044b3a34bb77f684..2698addea57947125956a416d23603a00ba2b829 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_5vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -309,15 +311,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_5vect_dot_prod_avx2, 04,  03,  0199
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_5vect_dot_prod_avx2, 04,  04,  0199
index 2f527e54bdbee9123b1fbc6d7ec4415aafa9153f..5c8c90359ab0d0fa102a34c8c39d58494e8828d6 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_5vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -298,15 +300,5 @@ section .data
 align 16
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_5vect_dot_prod_sse, 00,  04,  0065
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_5vect_dot_prod_sse, 00,  05,  0065
index 28e0097b12e75a0cb63736a6ad4595ecb15677d8..6b534a353e5f79510788c29b94cb853ac770928c 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_5vect_mad_avx(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -359,15 +361,5 @@ mask0f:    ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_5vect_mad_avx, 02,  00,  020d
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_5vect_mad_avx, 02,  01,  020d
index 603c314d5d9db310e296f6679cf7c22c5d9f56a0..b495c2189a1e4b0e24c9b3c523fbe1f62c8bb783 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_5vect_mad_avx2(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -357,15 +359,5 @@ constip32:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
        ddq 0xe0e1e2e3e4e5e6e7e8e9eaebecedeeef
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_5vect_mad_avx2, 04,  00,  020e
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_5vect_mad_avx2, 04,  01,  020e
index 9484a3d4985046a122346c1c04e10c0d7fb856e0..b26d4bcadebbb15357be3cd0c7f4642af98f5750 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_5vect_mad_sse(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -367,15 +369,5 @@ mask0f:
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_5vect_mad_sse, 00,  00,  020c
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_5vect_mad_sse, 00,  01,  020c
index 56d1b96cb54d8e0d1a6cb28349b1456b8891da79..fb29f76f1ef26dba05d001f5712c311650f3dd4f 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_6vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -309,15 +311,5 @@ section .data
 align 16
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_6vect_dot_prod_avx, 02,  03,  0195
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_6vect_dot_prod_avx, 02,  04,  0195
index e464ca27ffeffc06f9d879ecabaea5b8860573e8..85bb78a3d497f092bdc975bebe260c0981a635d4 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_6vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -320,15 +322,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                   core, ver, snum
-slversion gf_6vect_dot_prod_avx2, 04,  03,  019a
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_6vect_dot_prod_avx2, 04,  04,  019a
index 5fa00fb851e8a08f3a85f7ee6f9012bf11fea700..34f7b8731e3d32a6be670faa44ac49e535f8ae9f 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_6vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -309,15 +311,5 @@ section .data
 align 16
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_6vect_dot_prod_sse, 00,  04,  0066
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_6vect_dot_prod_sse, 00,  05,  0066
index 821ff0cd9b54be634bcc6d34e912c49bb0da785d..3c60d0a3ec0c6a053a4765826a432e2a311ba99b 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_6vect_mad_avx(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -388,15 +390,5 @@ mask0f:    ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_6vect_mad_avx, 02,  00,  0210
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_6vect_mad_avx, 02,  01,  0210
index b9cbf3902ee8306659f7e23380141e63bb495ea3..e1804578eb9efffa750702362ede81551e53bd47 100644 (file)
@@ -31,6 +31,7 @@
 ;;; gf_6vect_mad_avx2(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
 
 %define PS 8
 
@@ -395,15 +396,5 @@ constip32:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
        ddq 0xe0e1e2e3e4e5e6e7e8e9eaebecedeeef
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func              core, ver, snum
-slversion gf_6vect_mad_avx2, 04,  00,  0211
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_6vect_mad_avx2, 04,  01,  0211
index 15d5f47797a550c679b195b4e15663b041b85c35..574c8e525b98c8a7ca9d84df95ccdea9c88df956 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_6vect_mad_sse(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %define PS 8
 
 %ifidn __OUTPUT_FORMAT__, win64
@@ -400,15 +402,5 @@ mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 constip16:
        ddq 0xf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_6vect_mad_sse, 00,  00,  020f
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_6vect_mad_sse, 00,  01,  020f
index 809c2ee07c99d18651fde9213b09ea9868ee0000..4f06b124b8fe5dc400018868c7679d1a1d8e36e1 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_dot_prod_avx(len, vec, *g_tbls, **buffs, *dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -265,15 +267,5 @@ align 16
 mask0f:
 ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                 core, ver, snum
-slversion gf_vect_dot_prod_avx, 02,  04,  0061
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_dot_prod_avx, 02,  05,  0061
index 648f35a1816edf31712a591d250eb4d01ce24a72..47bb38cc6cb10aa612af0a7d0cc3fcce1314ccdc 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, *dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -274,15 +276,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                  core, ver, snum
-slversion gf_vect_dot_prod_avx2, 04,  04,  0190
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_dot_prod_avx2, 04,  05,  0190
index 9ffe6cf012914aa143ca8b3a4dbb0652aeede479..f7699c111c484ad3cb2675d7e79c89d5d88e1b71 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_dot_prod_sse(len, vec, *g_tbls, **buffs, *dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -265,15 +267,5 @@ align 16
 
 mask0f:        ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func                 core, ver, snum
-slversion gf_vect_dot_prod_sse, 00,  04,  0060
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_dot_prod_sse, 00,  05,  0060
index d9686b134637c596a542415a265f3caa7ace0d7f..f0fd91ac14c19cf78d6552dd5242527066249e57 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_mad_avx(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, win64
  %define arg0  rcx
  %define arg0.w ecx
@@ -190,15 +192,5 @@ align 16
 
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func            core, ver, snum
-slversion gf_vect_mad_avx, 02,  00,  0201
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_mad_avx, 02,  01,  0201
index d4eb8cfcc7e79813cf0d9cb0126f3c4053970861..5fa5da4d15b9847b68101d1b59bbf63ba5978b2d 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_mad_avx2(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, win64
  %define arg0   rcx
  %define arg0.w ecx
@@ -197,15 +199,5 @@ endproc_frame
 
 section .data
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_vect_mad_avx2, 04,  00,  0202
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_mad_avx2, 04,  01,  0202
index 5d0d0badf0f992d0e4313f671deeb4c0dbbc7797..b3ebc977630fb42eb1ec3d49dc08e38b49df8162 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_mad_sse(len, vec, vec_i, mul_array, src, dest);
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, win64
  %define arg0  rcx
  %define arg0.w ecx
@@ -191,15 +193,5 @@ align 16
 
 mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func            core, ver, snum
-slversion gf_vect_mad_sse, 00,  00,  0200
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_mad_sse, 00,  01,  0200
index 5056c891d0184747bddb0b8755bd034dcb37dfc0..c9438b11a1cb13812dd9bfaeff94af296b85fb8a 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_mul_avx(len, mul_array, src, dest)
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -158,15 +160,5 @@ align 16
 mask0f:
 ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func             core, ver, snum
-slversion gf_vect_mul_avx, 01,   02,  0036
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_mul_avx, 01,   03,  0036
index f5eaa08c41389e2bd56b339afcea47089c55152c..2a14cc9d81d82558925d39b1f0ad8c2eac75a37f 100644 (file)
@@ -31,6 +31,8 @@
 ;;; gf_vect_mul_sse(len, mul_array, src, dest)
 ;;;
 
+%include "reg_sizes.asm"
+
 %ifidn __OUTPUT_FORMAT__, elf64
  %define arg0  rdi
  %define arg1  rsi
@@ -164,15 +166,5 @@ align 16
 mask0f:
 ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
 
-%macro slversion 4
-global %1_slver_%2%3%4
-global %1_slver
-%1_slver:
-%1_slver_%2%3%4:
-       dw 0x%4
-       db 0x%3, 0x%2
-%endmacro
 ;;;       func        core, ver, snum
-slversion gf_vect_mul_sse, 00,   02,  0034
-; inform linker that this doesn't require executable stack
-section .note.GNU-stack noalloc noexec nowrite progbits
+slversion gf_vect_mul_sse, 00,   03,  0034
index 219ba069ebdbcda937691180506136907b74c471..650c1fe3e0b499d31f1fdde0225503b97794534b 100644 (file)
@@ -27,6 +27,9 @@
 ;  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+%ifndef _REG_SIZES_ASM_
+%define _REG_SIZES_ASM_
+
 %define EFLAGS_HAS_CPUID        (1<<21)
 %define FLAG_CPUID1_ECX_CLMUL   (1<<1)
 %define FLAG_CPUID1_EDX_SSE2    (1<<26)
 %define BYTE(reg)  reg %+ b
 
 %define XWORD(reg) reg %+ x
+
+%ifidn __OUTPUT_FORMAT__,elf32
+section .note.GNU-stack noalloc noexec nowrite progbits
+section .text
+%endif
+%ifidn __OUTPUT_FORMAT__,elf64
+section .note.GNU-stack noalloc noexec nowrite progbits
+section .text
+%endif
+%ifidn __OUTPUT_FORMAT__, macho64
+%define elf64 macho64
+%endif
+
+%macro slversion 4
+       section .text
+       global %1_slver_%2%3%4
+       global %1_slver
+       %1_slver:
+       %1_slver_%2%3%4:
+               dw 0x%4
+               db 0x%3, 0x%2
+%endmacro
+
+%endif ; ifndef _REG_SIZES_ASM_
index 695d94eefa7848fafc51836b5416c6c164c4ab96..f5775efaaf1944cc19c1dc1e3b71af8385f0d7b3 100644 (file)
@@ -41,7 +41,7 @@
 extern "C" {
 #endif
 
-#ifndef __unix__
+#ifdef __WIN32__
 #ifdef __MINGW32__
 # include <_mingw.h>
 #endif
@@ -59,12 +59,20 @@ typedef unsigned char      UINT8;
 #endif
 
 
-#ifdef __unix__
+#if defined  __unix__ || defined __APPLE__
 # define DECLARE_ALIGNED(decl, alignval) decl __attribute__((aligned(alignval)))
 # define __forceinline static inline
+# define aligned_free(x) free(x)
 #else
-# define DECLARE_ALIGNED(decl, alignval) __declspec(align(alignval)) decl
-# define posix_memalign(p, algn, len) (NULL == (*((char**)(p)) = (void*) _aligned_malloc(len, algn)))
+# ifdef __MINGW32__
+#   define DECLARE_ALIGNED(decl, alignval) decl __attribute__((aligned(alignval)))
+#   define posix_memalign(p, algn, len) (NULL == (*((char**)(p)) = (void*) _aligned_malloc(len, algn)))
+#   define aligned_free(x) _aligned_free(x)
+# else
+#   define DECLARE_ALIGNED(decl, alignval) __declspec(align(alignval)) decl
+#   define posix_memalign(p, algn, len) (NULL == (*((char**)(p)) = (void*) _aligned_malloc(len, algn)))
+#   define aligned_free(x) _aligned_free(x)
+# endif
 #endif
 
 #ifdef DEBUG