diff options
Diffstat (limited to 'src/hash/crc32/crc32_s390x.s')
-rw-r--r-- | src/hash/crc32/crc32_s390x.s | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/hash/crc32/crc32_s390x.s b/src/hash/crc32/crc32_s390x.s index f8d39f3df9..0b830531f7 100644 --- a/src/hash/crc32/crc32_s390x.s +++ b/src/hash/crc32/crc32_s390x.s @@ -128,6 +128,10 @@ TEXT vectorizedBody<>(SB),NOSPLIT,$0 VZERO V0 VLVGF $3, R2, V0 + // Crash if the input size is less than 64-bytes. + CMP R4, $64 + BLT crash + // Load a 64-byte data chunk and XOR with CRC VLM 0(R3), V1, V4 // 64-bytes into V1..V4 @@ -243,3 +247,6 @@ done: XOR $0xffffffff, R2 // NOTW R2 MOVWZ R2, ret + 32(FP) RET + +crash: + MOVD $0, (R0) // input size is less than 64-bytes |