From 472e7011e8f670ace5464c68fc55ae20a24ceea5 Mon Sep 17 00:00:00 2001 From: Greg Tucker Date: Mon, 16 Mar 2020 16:12:54 -0700 Subject: [PATCH] ec: Change use of windows macro save_xmm128 to vec For builds under windows this could emit a non-vec mov that's not optional for AVX versions. Change-Id: I31e6ea3b62d48c5a13f6e83f8d684f0b5551087b Signed-off-by: Greg Tucker --- erasure_code/gf_2vect_dot_prod_avx.asm | 6 ++--- erasure_code/gf_3vect_dot_prod_avx.asm | 12 +++++----- erasure_code/gf_4vect_dot_prod_avx.asm | 18 +++++++-------- erasure_code/gf_5vect_dot_prod_avx.asm | 20 ++++++++-------- erasure_code/gf_6vect_dot_prod_avx.asm | 20 ++++++++-------- erasure_code/gf_vect_mul_avx.asm | 10 ++++---- raid/pq_gen_avx.asm | 32 +++++++++++++------------- 7 files changed, 59 insertions(+), 59 deletions(-) diff --git a/erasure_code/gf_2vect_dot_prod_avx.asm b/erasure_code/gf_2vect_dot_prod_avx.asm index 6b68d93..99bc95a 100644 --- a/erasure_code/gf_2vect_dot_prod_avx.asm +++ b/erasure_code/gf_2vect_dot_prod_avx.asm @@ -84,9 +84,9 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm8 save_reg r12, 3*16 + 0*8 save_reg r13, 3*16 + 1*8 save_reg r14, 3*16 + 2*8 diff --git a/erasure_code/gf_3vect_dot_prod_avx.asm b/erasure_code/gf_3vect_dot_prod_avx.asm index b006cf1..a8b46e8 100644 --- a/erasure_code/gf_3vect_dot_prod_avx.asm +++ b/erasure_code/gf_3vect_dot_prod_avx.asm @@ -87,12 +87,12 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm8 + vmovdqa [rsp + 3*16], xmm9 + vmovdqa [rsp + 4*16], xmm10 + vmovdqa [rsp + 5*16], xmm11 save_reg r12, 6*16 + 0*8 save_reg r13, 6*16 + 1*8 save_reg r14, 6*16 + 2*8 diff --git a/erasure_code/gf_4vect_dot_prod_avx.asm b/erasure_code/gf_4vect_dot_prod_avx.asm index ccfc8ce..fbb58cc 100644 --- a/erasure_code/gf_4vect_dot_prod_avx.asm +++ b/erasure_code/gf_4vect_dot_prod_avx.asm @@ -95,15 +95,15 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm8 + vmovdqa [rsp + 3*16], xmm9 + vmovdqa [rsp + 4*16], xmm10 + vmovdqa [rsp + 5*16], xmm11 + vmovdqa [rsp + 6*16], xmm12 + vmovdqa [rsp + 7*16], xmm13 + vmovdqa [rsp + 8*16], xmm14 save_reg r12, 9*16 + 0*8 save_reg r13, 9*16 + 1*8 save_reg r14, 9*16 + 2*8 diff --git a/erasure_code/gf_5vect_dot_prod_avx.asm b/erasure_code/gf_5vect_dot_prod_avx.asm index eb1c15e..d955fc4 100644 --- a/erasure_code/gf_5vect_dot_prod_avx.asm +++ b/erasure_code/gf_5vect_dot_prod_avx.asm @@ -89,16 +89,16 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_xmm128 xmm15, 9*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm8 + vmovdqa [rsp + 3*16], xmm9 + vmovdqa [rsp + 4*16], xmm10 + vmovdqa [rsp + 5*16], xmm11 + vmovdqa [rsp + 6*16], xmm12 + vmovdqa [rsp + 7*16], xmm13 + vmovdqa [rsp + 8*16], xmm14 + vmovdqa [rsp + 9*16], xmm15 save_reg r12, 10*16 + 0*8 save_reg r13, 10*16 + 1*8 save_reg r14, 10*16 + 2*8 diff --git a/erasure_code/gf_6vect_dot_prod_avx.asm b/erasure_code/gf_6vect_dot_prod_avx.asm index a519d52..f64e9ef 100644 --- a/erasure_code/gf_6vect_dot_prod_avx.asm +++ b/erasure_code/gf_6vect_dot_prod_avx.asm @@ -89,16 +89,16 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_xmm128 xmm15, 9*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm8 + vmovdqa [rsp + 3*16], xmm9 + vmovdqa [rsp + 4*16], xmm10 + vmovdqa [rsp + 5*16], xmm11 + vmovdqa [rsp + 6*16], xmm12 + vmovdqa [rsp + 7*16], xmm13 + vmovdqa [rsp + 8*16], xmm14 + vmovdqa [rsp + 9*16], xmm15 save_reg r12, 10*16 + 0*8 save_reg r13, 10*16 + 1*8 save_reg r14, 10*16 + 2*8 diff --git a/erasure_code/gf_vect_mul_avx.asm b/erasure_code/gf_vect_mul_avx.asm index c1a9b97..ec6a64f 100644 --- a/erasure_code/gf_vect_mul_avx.asm +++ b/erasure_code/gf_vect_mul_avx.asm @@ -56,11 +56,11 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm13, 2*16 - save_xmm128 xmm14, 3*16 - save_xmm128 xmm15, 4*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm13 + vmovdqa [rsp + 3*16], xmm14 + vmovdqa [rsp + 4*16], xmm15 end_prolog %endmacro diff --git a/raid/pq_gen_avx.asm b/raid/pq_gen_avx.asm index 54c0ded..513530c 100644 --- a/raid/pq_gen_avx.asm +++ b/raid/pq_gen_avx.asm @@ -63,26 +63,26 @@ %define func(x) proc_frame x %macro FUNC_SAVE 0 alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm14, 6*16 - save_xmm128 xmm15, 7*16 + vmovdqa [rsp + 0*16], xmm6 + vmovdqa [rsp + 1*16], xmm7 + vmovdqa [rsp + 2*16], xmm8 + vmovdqa [rsp + 3*16], xmm9 + vmovdqa [rsp + 4*16], xmm10 + vmovdqa [rsp + 5*16], xmm11 + vmovdqa [rsp + 6*16], xmm14 + vmovdqa [rsp + 7*16], xmm15 end_prolog %endmacro %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm8, [rsp + 2*16] - movdqa xmm9, [rsp + 3*16] - movdqa xmm10, [rsp + 4*16] - movdqa xmm11, [rsp + 5*16] - movdqa xmm14, [rsp + 6*16] - movdqa xmm15, [rsp + 7*16] + vmovdqa xmm6, [rsp + 0*16] + vmovdqa xmm7, [rsp + 1*16] + vmovdqa xmm8, [rsp + 2*16] + vmovdqa xmm9, [rsp + 3*16] + vmovdqa xmm10, [rsp + 4*16] + vmovdqa xmm11, [rsp + 5*16] + vmovdqa xmm14, [rsp + 6*16] + vmovdqa xmm15, [rsp + 7*16] add rsp, stack_size %endmacro %endif