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) 10TEXT ·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 16loop: 17 KIMD R0, R2 // compute intermediate message digest (KIMD) 18 BVS loop // continue if interrupted 19 RET 20 21generic: 22 BR ·blockGeneric(SB) 23