github.com/ice-blockchain/go/src@v0.0.0-20240403114104-1564d284e521/crypto/sha256/sha256block_s390x.s (about) 1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build !purego 6 7 #include "textflag.h" 8 9 // func block(dig *digest, p []byte) 10 TEXT ·block(SB), NOSPLIT|NOFRAME, $0-32 11 MOVBZ ·useAsm(SB), R4 12 LMG dig+0(FP), R1, R3 // R2 = &p[0], R3 = len(p) 13 MOVBZ $2, R0 // SHA-256 function code 14 CMPBEQ R4, $0, generic 15 16 loop: 17 KIMD R0, R2 // compute intermediate message digest (KIMD) 18 BVS loop // continue if interrupted 19 RET 20 21 generic: 22 BR ·blockGeneric(SB)