summaryrefslogtreecommitdiff
path: root/vendor/github.com/minio/crc64nvme/crc64_arm64.s
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/minio/crc64nvme/crc64_arm64.s')
-rw-r--r--vendor/github.com/minio/crc64nvme/crc64_arm64.s155
1 files changed, 0 insertions, 155 deletions
diff --git a/vendor/github.com/minio/crc64nvme/crc64_arm64.s b/vendor/github.com/minio/crc64nvme/crc64_arm64.s
deleted file mode 100644
index b61866f63..000000000
--- a/vendor/github.com/minio/crc64nvme/crc64_arm64.s
+++ /dev/null
@@ -1,155 +0,0 @@
-// Copyright (c) 2025 Minio Inc. All rights reserved.
-// Use of this source code is governed by a license that can be
-// found in the LICENSE file.
-
-#include "textflag.h"
-
-TEXT ·updateAsm(SB), $0-40
- MOVD crc+0(FP), R0 // checksum
- MOVD p_base+8(FP), R1 // start pointer
- MOVD p_len+16(FP), R2 // length of buffer
- MOVD $·const(SB), R3 // constants
- MVN R0, R0
- LSR $7, R2, R2
- CMP $1, R2
- BLT skip128
-
- FLDPQ (R1), (F0, F1)
- FLDPQ 32(R1), (F2, F3)
- FLDPQ 64(R1), (F4, F5)
- FLDPQ 96(R1), (F6, F7)
- FMOVD R0, F8
- VMOVI $0, V9.B16
- VMOV V9.D[0], V8.D[1]
- VEOR V8.B16, V0.B16, V0.B16
- CMP $1, R2
- BEQ tail128
-
- MOVD 112(R3), R4
- MOVD 120(R3), R5
- FMOVD R4, F8
- VDUP R5, V9.D2
-
-loop128:
- ADD $128, R1, R1
- SUB $1, R2, R2
- VPMULL V0.D1, V8.D1, V10.Q1
- VPMULL2 V0.D2, V9.D2, V0.Q1
- FLDPQ (R1), (F11, F12)
- VEOR3 V0.B16, V11.B16, V10.B16, V0.B16
- VPMULL V1.D1, V8.D1, V10.Q1
- VPMULL2 V1.D2, V9.D2, V1.Q1
- VEOR3 V1.B16, V12.B16, V10.B16, V1.B16
- VPMULL V2.D1, V8.D1, V10.Q1
- VPMULL2 V2.D2, V9.D2, V2.Q1
- FLDPQ 32(R1), (F11, F12)
- VEOR3 V2.B16, V11.B16, V10.B16, V2.B16
- VPMULL V3.D1, V8.D1, V10.Q1
- VPMULL2 V3.D2, V9.D2, V3.Q1
- VEOR3 V3.B16, V12.B16, V10.B16, V3.B16
- VPMULL V4.D1, V8.D1, V10.Q1
- VPMULL2 V4.D2, V9.D2, V4.Q1
- FLDPQ 64(R1), (F11, F12)
- VEOR3 V4.B16, V11.B16, V10.B16, V4.B16
- VPMULL V5.D1, V8.D1, V10.Q1
- VPMULL2 V5.D2, V9.D2, V5.Q1
- VEOR3 V5.B16, V12.B16, V10.B16, V5.B16
- VPMULL V6.D1, V8.D1, V10.Q1
- VPMULL2 V6.D2, V9.D2, V6.Q1
- FLDPQ 96(R1), (F11, F12)
- VEOR3 V6.B16, V11.B16, V10.B16, V6.B16
- VPMULL V7.D1, V8.D1, V10.Q1
- VPMULL2 V7.D2, V9.D2, V7.Q1
- VEOR3 V7.B16, V12.B16, V10.B16, V7.B16
- CMP $1, R2
- BHI loop128
-
-tail128:
- MOVD (R3), R4
- FMOVD R4, F11
- VPMULL V0.D1, V11.D1, V11.Q1
- MOVD 8(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V0.D2, V12.D2, V0.Q1
- VEOR3 V0.B16, V7.B16, V11.B16, V7.B16
- MOVD 16(R3), R4
- FMOVD R4, F11
- VPMULL V1.D1, V11.D1, V11.Q1
- MOVD 24(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V1.D2, V12.D2, V1.Q1
- VEOR3 V1.B16, V11.B16, V7.B16, V1.B16
- MOVD 32(R3), R4
- FMOVD R4, F11
- VPMULL V2.D1, V11.D1, V11.Q1
- MOVD 40(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V2.D2, V12.D2, V2.Q1
- VEOR3 V2.B16, V11.B16, V1.B16, V2.B16
- MOVD 48(R3), R4
- FMOVD R4, F11
- VPMULL V3.D1, V11.D1, V11.Q1
- MOVD 56(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V3.D2, V12.D2, V3.Q1
- VEOR3 V3.B16, V11.B16, V2.B16, V3.B16
- MOVD 64(R3), R4
- FMOVD R4, F11
- VPMULL V4.D1, V11.D1, V11.Q1
- MOVD 72(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V4.D2, V12.D2, V4.Q1
- VEOR3 V4.B16, V11.B16, V3.B16, V4.B16
- MOVD 80(R3), R4
- FMOVD R4, F11
- VPMULL V5.D1, V11.D1, V11.Q1
- MOVD 88(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V5.D2, V12.D2, V5.Q1
- VEOR3 V5.B16, V11.B16, V4.B16, V5.B16
- MOVD 96(R3), R4
- FMOVD R4, F11
- VPMULL V6.D1, V11.D1, V11.Q1
- MOVD 104(R3), R4
- VDUP R4, V12.D2
- VPMULL2 V6.D2, V12.D2, V6.Q1
- VEOR3 V6.B16, V11.B16, V5.B16, V6.B16
- FMOVD R4, F5
- VPMULL V6.D1, V5.D1, V5.Q1
- VDUP V6.D[1], V6.D2
- VEOR V5.B8, V6.B8, V6.B8
- MOVD 128(R3), R4
- FMOVD R4, F4
- VPMULL V4.D1, V6.D1, V6.Q1
- FMOVD F6, R4
- MOVD 136(R3), R5
- FMOVD R5, F4
- VPMULL V4.D1, V6.D1, V6.Q1
- VEOR V6.B16, V5.B16, V6.B16
- VMOV V6.D[1], R5
- EOR R4, R5, R0
-
-skip128:
- MVN R0, R0
- MOVD R0, checksum+32(FP)
- RET
-
-DATA ·const+0x000(SB)/8, $0xd083dd594d96319d // K_959
-DATA ·const+0x008(SB)/8, $0x946588403d4adcbc // K_895
-DATA ·const+0x010(SB)/8, $0x3c255f5ebc414423 // K_831
-DATA ·const+0x018(SB)/8, $0x34f5a24e22d66e90 // K_767
-DATA ·const+0x020(SB)/8, $0x7b0ab10dd0f809fe // K_703
-DATA ·const+0x028(SB)/8, $0x03363823e6e791e5 // K_639
-DATA ·const+0x030(SB)/8, $0x0c32cdb31e18a84a // K_575
-DATA ·const+0x038(SB)/8, $0x62242240ace5045a // K_511
-DATA ·const+0x040(SB)/8, $0xbdd7ac0ee1a4a0f0 // K_447
-DATA ·const+0x048(SB)/8, $0xa3ffdc1fe8e82a8b // K_383
-DATA ·const+0x050(SB)/8, $0xb0bc2e589204f500 // K_319
-DATA ·const+0x058(SB)/8, $0xe1e0bb9d45d7a44c // K_255
-DATA ·const+0x060(SB)/8, $0xeadc41fd2ba3d420 // K_191
-DATA ·const+0x068(SB)/8, $0x21e9761e252621ac // K_127
-DATA ·const+0x070(SB)/8, $0xa1ca681e733f9c40 // K_1087
-DATA ·const+0x078(SB)/8, $0x5f852fb61e8d92dc // K_1023
-DATA ·const+0x080(SB)/8, $0x27ecfa329aef9f77 // MU
-DATA ·const+0x088(SB)/8, $0x34d926535897936b // POLY
-GLOBL ·const(SB), (NOPTR+RODATA), $144