summaryrefslogtreecommitdiff
path: root/src/hash/crc32/crc32_s390x.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/hash/crc32/crc32_s390x.s')
-rw-r--r--src/hash/crc32/crc32_s390x.s7
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