github.com/insolar/x-crypto@v0.0.0-20191031140942-75fab8a325f6/sha512/sha512block_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 #include "textflag.h" 6 7 // func block(dig *digest, p []byte) 8 TEXT ·block(SB), NOSPLIT|NOFRAME, $0-32 9 MOVBZ ·useAsm(SB), R4 10 LMG dig+0(FP), R1, R3 // R2 = &p[0], R3 = len(p) 11 MOVBZ $3, R0 // SHA-512 function code 12 CMPBEQ R4, $0, generic 13 14 loop: 15 WORD $0xB93E0002 // KIMD R2 16 BVS loop // continue if interrupted 17 RET 18 19 generic: 20 BR ·blockGeneric(SB)