diff --git a/internal/ailego/math/fht_amd64.go b/internal/ailego/math/fht_amd64.go index 0c0f2b8..5a71ecc 100644 --- a/internal/ailego/math/fht_amd64.go +++ b/internal/ailego/math/fht_amd64.go @@ -49,7 +49,7 @@ func fhtFlipSignsAVX2(signs []byte, data []float32) { fhtFlipSignsScalar(signs, data) return } - xvec_avx2_fht_flip_signs(unsafe.Pointer(&signs[0]), unsafe.Pointer(&data[0]), int64(len(data))) + fht_flip_sign_avx2(unsafe.Pointer(&signs[0]), unsafe.Pointer(&data[0]), int64(len(data))) } func fhtKacWalkAVX2(data []float32) { @@ -57,7 +57,7 @@ func fhtKacWalkAVX2(data []float32) { fhtKacWalkScalar(data) return } - xvec_avx2_fht_kac_walk(unsafe.Pointer(&data[0]), int64(len(data))) + fht_kacs_walk_avx2(unsafe.Pointer(&data[0]), int64(len(data))) if len(data)%2 != 0 { data[len(data)/2] *= float32(math.Sqrt2) } @@ -71,7 +71,7 @@ func fhtInverseKacWalkAVX2(data []float32) { if len(data)%2 != 0 { data[len(data)/2] *= float32(math.Sqrt(.5)) } - xvec_avx2_fht_inverse_kac_walk(unsafe.Pointer(&data[0]), int64(len(data))) + fht_inv_kacs_walk_avx2(unsafe.Pointer(&data[0]), int64(len(data))) } func fhtInPlaceAVX2(data []float32) { @@ -79,7 +79,7 @@ func fhtInPlaceAVX2(data []float32) { fhtInPlaceScalar(data) return } - xvec_avx2_fht_in_place(unsafe.Pointer(&data[0]), int64(len(data))) + fht_inplace_avx2(unsafe.Pointer(&data[0]), int64(len(data))) } func fhtFlipSignsAVX512(signs []byte, data []float32) { @@ -87,7 +87,7 @@ func fhtFlipSignsAVX512(signs []byte, data []float32) { fhtFlipSignsScalar(signs, data) return } - xvec_avx512_fht_flip_signs(unsafe.Pointer(&signs[0]), unsafe.Pointer(&data[0]), int64(len(data))) + fht_flip_sign_avx512(unsafe.Pointer(&signs[0]), unsafe.Pointer(&data[0]), int64(len(data))) } func fhtKacWalkAVX512(data []float32) { @@ -95,7 +95,7 @@ func fhtKacWalkAVX512(data []float32) { fhtKacWalkScalar(data) return } - xvec_avx512_fht_kac_walk(unsafe.Pointer(&data[0]), int64(len(data))) + fht_kacs_walk_avx512(unsafe.Pointer(&data[0]), int64(len(data))) if len(data)%2 != 0 { data[len(data)/2] *= float32(math.Sqrt2) } @@ -109,7 +109,7 @@ func fhtInverseKacWalkAVX512(data []float32) { if len(data)%2 != 0 { data[len(data)/2] *= float32(math.Sqrt(.5)) } - xvec_avx512_fht_inverse_kac_walk(unsafe.Pointer(&data[0]), int64(len(data))) + fht_inv_kacs_walk_avx512(unsafe.Pointer(&data[0]), int64(len(data))) } func fhtInPlaceAVX512(data []float32) { @@ -117,5 +117,5 @@ func fhtInPlaceAVX512(data []float32) { fhtInPlaceScalar(data) return } - xvec_avx512_fht_in_place(unsafe.Pointer(&data[0]), int64(len(data))) + fht_inplace_avx512(unsafe.Pointer(&data[0]), int64(len(data))) } diff --git a/internal/ailego/math/fht_arm64.go b/internal/ailego/math/fht_arm64.go index 194fdf6..1f88652 100644 --- a/internal/ailego/math/fht_arm64.go +++ b/internal/ailego/math/fht_arm64.go @@ -41,7 +41,7 @@ func fhtFlipSignsNEON(signs []byte, data []float32) { fhtFlipSignsScalar(signs, data) return } - xvec_neon_fht_flip_signs(unsafe.Pointer(&signs[0]), unsafe.Pointer(&data[0]), int64(len(data))) + fht_flip_sign_neon(unsafe.Pointer(&signs[0]), unsafe.Pointer(&data[0]), int64(len(data))) } func fhtKacWalkNEON(data []float32) { @@ -49,7 +49,7 @@ func fhtKacWalkNEON(data []float32) { fhtKacWalkScalar(data) return } - xvec_neon_fht_kac_walk(unsafe.Pointer(&data[0]), int64(len(data))) + fht_kacs_walk_neon(unsafe.Pointer(&data[0]), int64(len(data))) if len(data)%2 != 0 { data[len(data)/2] *= float32(math.Sqrt2) } @@ -63,7 +63,7 @@ func fhtInverseKacWalkNEON(data []float32) { if len(data)%2 != 0 { data[len(data)/2] *= float32(math.Sqrt(.5)) } - xvec_neon_fht_inverse_kac_walk(unsafe.Pointer(&data[0]), int64(len(data))) + fht_inv_kacs_walk_neon(unsafe.Pointer(&data[0]), int64(len(data))) } func fhtInPlaceNEON(data []float32) { @@ -71,5 +71,5 @@ func fhtInPlaceNEON(data []float32) { fhtInPlaceScalar(data) return } - xvec_neon_fht_in_place(unsafe.Pointer(&data[0]), int64(len(data))) + fht_inplace_neon(unsafe.Pointer(&data[0]), int64(len(data))) } diff --git a/internal/ailego/math/fht_avx2.go b/internal/ailego/math/fht_avx2.go index d06d7e8..ce8a593 100644 --- a/internal/ailego/math/fht_avx2.go +++ b/internal/ailego/math/fht_avx2.go @@ -11,13 +11,13 @@ package mathutil import "unsafe" //go:noescape -func xvec_avx2_fht_flip_signs(signs, data unsafe.Pointer, size int64) +func fht_flip_sign_avx2(signs, data unsafe.Pointer, size int64) //go:noescape -func xvec_avx2_fht_kac_walk(data unsafe.Pointer, size int64) +func fht_kacs_walk_avx2(data unsafe.Pointer, size int64) //go:noescape -func xvec_avx2_fht_inverse_kac_walk(data unsafe.Pointer, size int64) +func fht_inv_kacs_walk_avx2(data unsafe.Pointer, size int64) //go:noescape -func xvec_avx2_fht_in_place(data unsafe.Pointer, size int64) +func fht_inplace_avx2(data unsafe.Pointer, size int64) diff --git a/internal/ailego/math/fht_avx2.s b/internal/ailego/math/fht_avx2.s index 85d8e18..302698c 100644 --- a/internal/ailego/math/fht_avx2.s +++ b/internal/ailego/math/fht_avx2.s @@ -6,7 +6,7 @@ // flags: -mavx2 -O3 // source: src/fht_avx2.c -TEXT ·xvec_avx2_fht_flip_signs(SB), $0-24 +TEXT ·fht_flip_sign_avx2(SB), $0-24 MOVQ signs+0(FP), DI MOVQ data+8(FP), SI MOVQ size+16(FP), DX @@ -252,7 +252,7 @@ LBB0_5: LONG $0x8f748042; WORD $0x8003 // xorb $-128, 3(%rdi,%r9,4) JMP LBB0_7 -TEXT ·xvec_avx2_fht_kac_walk(SB), $0-16 +TEXT ·fht_kacs_walk_avx2(SB), $0-16 MOVQ data+0(FP), DI MOVQ size+8(FP), SI WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax @@ -411,7 +411,7 @@ LBB1_21: WORD $0x014c; BYTE $0xca // addq %r9, %rdx JMP LBB1_5 -TEXT ·xvec_avx2_fht_inverse_kac_walk(SB), $0-16 +TEXT ·fht_inv_kacs_walk_avx2(SB), $0-16 MOVQ data+0(FP), DI MOVQ size+8(FP), SI BYTE $0x55 // pushq %rbp @@ -472,7 +472,7 @@ LBB2_6: WORD $0xf8c5; BYTE $0x77 // vzeroupper RET -TEXT ·xvec_avx2_fht_in_place(SB), $0-16 +TEXT ·fht_inplace_avx2(SB), $0-16 MOVQ data+0(FP), DI MOVQ size+8(FP), SI BYTE $0x55 // pushq %rbp diff --git a/internal/ailego/math/fht_avx512.go b/internal/ailego/math/fht_avx512.go index bcc02bb..776ec7c 100644 --- a/internal/ailego/math/fht_avx512.go +++ b/internal/ailego/math/fht_avx512.go @@ -11,13 +11,13 @@ package mathutil import "unsafe" //go:noescape -func xvec_avx512_fht_flip_signs(signs, data unsafe.Pointer, size int64) +func fht_flip_sign_avx512(signs, data unsafe.Pointer, size int64) //go:noescape -func xvec_avx512_fht_kac_walk(data unsafe.Pointer, size int64) +func fht_kacs_walk_avx512(data unsafe.Pointer, size int64) //go:noescape -func xvec_avx512_fht_inverse_kac_walk(data unsafe.Pointer, size int64) +func fht_inv_kacs_walk_avx512(data unsafe.Pointer, size int64) //go:noescape -func xvec_avx512_fht_in_place(data unsafe.Pointer, size int64) +func fht_inplace_avx512(data unsafe.Pointer, size int64) diff --git a/internal/ailego/math/fht_avx512.s b/internal/ailego/math/fht_avx512.s index 192cf4e..e6f57ed 100644 --- a/internal/ailego/math/fht_avx512.s +++ b/internal/ailego/math/fht_avx512.s @@ -6,7 +6,7 @@ // flags: -mavx512f -mavx512dq -O3 // source: src/fht_avx512.c -TEXT ·xvec_avx512_fht_flip_signs(SB), $0-24 +TEXT ·fht_flip_sign_avx512(SB), $0-24 MOVQ signs+0(FP), DI MOVQ data+8(FP), SI MOVQ size+16(FP), DX @@ -81,7 +81,7 @@ LBB0_4: LONG $0x03867480; BYTE $0x80 // xorb $-128, 3(%rsi,%rax,4) JMP LBB0_6 -TEXT ·xvec_avx512_fht_kac_walk(SB), $0-16 +TEXT ·fht_kacs_walk_avx512(SB), $0-16 MOVQ data+0(FP), DI MOVQ size+8(FP), SI WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax @@ -240,7 +240,7 @@ LBB1_21: WORD $0x014c; BYTE $0xca // addq %r9, %rdx JMP LBB1_5 -TEXT ·xvec_avx512_fht_inverse_kac_walk(SB), $0-16 +TEXT ·fht_inv_kacs_walk_avx512(SB), $0-16 MOVQ data+0(FP), DI MOVQ size+8(FP), SI BYTE $0x55 // pushq %rbp @@ -301,7 +301,7 @@ LBB2_6: WORD $0xf8c5; BYTE $0x77 // vzeroupper RET -TEXT ·xvec_avx512_fht_in_place(SB), $0-16 +TEXT ·fht_inplace_avx512(SB), $0-16 MOVQ data+0(FP), DI MOVQ size+8(FP), SI BYTE $0x55 // pushq %rbp diff --git a/internal/ailego/math/fht_neon.go b/internal/ailego/math/fht_neon.go index b6cdf25..62d344f 100644 --- a/internal/ailego/math/fht_neon.go +++ b/internal/ailego/math/fht_neon.go @@ -11,13 +11,13 @@ package mathutil import "unsafe" //go:noescape -func xvec_neon_fht_flip_signs(signs, data unsafe.Pointer, size int64) +func fht_flip_sign_neon(signs, data unsafe.Pointer, size int64) //go:noescape -func xvec_neon_fht_kac_walk(data unsafe.Pointer, size int64) +func fht_kacs_walk_neon(data unsafe.Pointer, size int64) //go:noescape -func xvec_neon_fht_inverse_kac_walk(data unsafe.Pointer, size int64) +func fht_inv_kacs_walk_neon(data unsafe.Pointer, size int64) //go:noescape -func xvec_neon_fht_in_place(data unsafe.Pointer, size int64) +func fht_inplace_neon(data unsafe.Pointer, size int64) diff --git a/internal/ailego/math/fht_neon.s b/internal/ailego/math/fht_neon.s index 759fbc2..80ba11e 100644 --- a/internal/ailego/math/fht_neon.s +++ b/internal/ailego/math/fht_neon.s @@ -6,7 +6,7 @@ // flags: -O3 // source: src/fht_neon.c -TEXT ·xvec_neon_fht_flip_signs(SB), $0-24 +TEXT ·fht_flip_sign_neon(SB), $0-24 MOVD signs+0(FP), R0 MOVD data+8(FP), R1 MOVD size+16(FP), R2 @@ -82,7 +82,7 @@ LBB0_8: WORD $0xbc287820 // str s0, [x1, x8, lsl #2] B LBB0_7 -TEXT ·xvec_neon_fht_kac_walk(SB), $0-16 +TEXT ·fht_kacs_walk_neon(SB), $0-16 MOVD data+0(FP), R0 MOVD size+8(FP), R1 WORD $0x8b41fc28 // add x8, x1, x1, lsr #63 @@ -175,7 +175,7 @@ LBB1_10: LBB1_11: RET -TEXT ·xvec_neon_fht_inverse_kac_walk(SB), $0-16 +TEXT ·fht_inv_kacs_walk_neon(SB), $0-16 MOVD data+0(FP), R0 MOVD size+8(FP), R1 WORD $0x8b41fc28 // add x8, x1, x1, lsr #63 @@ -269,7 +269,7 @@ LBB2_10: LBB2_11: RET -TEXT ·xvec_neon_fht_in_place(SB), $0-16 +TEXT ·fht_inplace_neon(SB), $0-16 MOVD data+0(FP), R0 MOVD size+8(FP), R1 WORD $0xf100083f // cmp x1, #2 diff --git a/internal/ailego/math/src/fht_avx2.c b/internal/ailego/math/src/fht_avx2.c index f7afd5d..d52ed87 100644 --- a/internal/ailego/math/src/fht_avx2.c +++ b/internal/ailego/math/src/fht_avx2.c @@ -15,7 +15,7 @@ #include #include -void xvec_avx2_fht_flip_signs(uint8_t *signs, float *data, int64_t size) { +void fht_flip_sign_avx2(uint8_t *signs, float *data, int64_t size) { int64_t simd_end = size & ~31LL; for (int64_t index = 0; index < simd_end; index += 32) { uint32_t bits; @@ -39,7 +39,7 @@ void xvec_avx2_fht_flip_signs(uint8_t *signs, float *data, int64_t size) { } } -void xvec_avx2_fht_kac_walk(float *data, int64_t size) { +void fht_kacs_walk_avx2(float *data, int64_t size) { int64_t half = size / 2; int64_t base = size % 2; int64_t offset = base + half; @@ -59,7 +59,7 @@ void xvec_avx2_fht_kac_walk(float *data, int64_t size) { } -void xvec_avx2_fht_inverse_kac_walk(float *data, int64_t size) { +void fht_inv_kacs_walk_avx2(float *data, int64_t size) { int64_t half = size / 2; int64_t base = size % 2; int64_t offset = base + half; @@ -80,7 +80,7 @@ void xvec_avx2_fht_inverse_kac_walk(float *data, int64_t size) { } } -void xvec_avx2_fht_in_place(float *data, int64_t size) { +void fht_inplace_avx2(float *data, int64_t size) { for (int64_t width = 1; width < size; width <<= 1) { int64_t step = width << 1; int64_t simd_end = width & ~7LL; diff --git a/internal/ailego/math/src/fht_avx512.c b/internal/ailego/math/src/fht_avx512.c index 694e14c..80ea047 100644 --- a/internal/ailego/math/src/fht_avx512.c +++ b/internal/ailego/math/src/fht_avx512.c @@ -15,7 +15,7 @@ #include #include -void xvec_avx512_fht_flip_signs(uint8_t *signs, float *data, int64_t size) { +void fht_flip_sign_avx512(uint8_t *signs, float *data, int64_t size) { int64_t simd_end = size & ~63LL; volatile int32_t sign = (int32_t)0x80000000u; const __m512 sign_bit = _mm512_castsi512_ps(_mm512_set1_epi32(sign)); @@ -36,7 +36,7 @@ void xvec_avx512_fht_flip_signs(uint8_t *signs, float *data, int64_t size) { } } -void xvec_avx512_fht_kac_walk(float *data, int64_t size) { +void fht_kacs_walk_avx512(float *data, int64_t size) { int64_t half = size / 2; int64_t base = size % 2; int64_t offset = base + half; @@ -56,7 +56,7 @@ void xvec_avx512_fht_kac_walk(float *data, int64_t size) { } -void xvec_avx512_fht_inverse_kac_walk(float *data, int64_t size) { +void fht_inv_kacs_walk_avx512(float *data, int64_t size) { int64_t half = size / 2; int64_t base = size % 2; int64_t offset = base + half; @@ -77,7 +77,7 @@ void xvec_avx512_fht_inverse_kac_walk(float *data, int64_t size) { } } -void xvec_avx512_fht_in_place(float *data, int64_t size) { +void fht_inplace_avx512(float *data, int64_t size) { for (int64_t width = 1; width < size; width <<= 1) { int64_t step = width << 1; int64_t simd_end = width & ~15LL; diff --git a/internal/ailego/math/src/fht_neon.c b/internal/ailego/math/src/fht_neon.c index 7112dba..b9883f2 100644 --- a/internal/ailego/math/src/fht_neon.c +++ b/internal/ailego/math/src/fht_neon.c @@ -15,7 +15,7 @@ #include #include -void xvec_neon_fht_flip_signs(uint8_t *signs, float *data, int64_t size) { +void fht_flip_sign_neon(uint8_t *signs, float *data, int64_t size) { int64_t simd_end = size & ~3LL; for (int64_t index = 0; index < simd_end; index += 4) { uint16_t bits = signs[index / 8]; @@ -38,7 +38,7 @@ void xvec_neon_fht_flip_signs(uint8_t *signs, float *data, int64_t size) { } } -void xvec_neon_fht_kac_walk(float *data, int64_t size) { +void fht_kacs_walk_neon(float *data, int64_t size) { int64_t half = size / 2; int64_t base = size % 2; int64_t offset = base + half; @@ -58,7 +58,7 @@ void xvec_neon_fht_kac_walk(float *data, int64_t size) { } -void xvec_neon_fht_inverse_kac_walk(float *data, int64_t size) { +void fht_inv_kacs_walk_neon(float *data, int64_t size) { int64_t half = size / 2; int64_t base = size % 2; int64_t offset = base + half; @@ -79,7 +79,7 @@ void xvec_neon_fht_inverse_kac_walk(float *data, int64_t size) { } } -void xvec_neon_fht_in_place(float *data, int64_t size) { +void fht_inplace_neon(float *data, int64_t size) { for (int64_t width = 1; width < size; width <<= 1) { int64_t step = width << 1; int64_t simd_end = width & ~3LL;