mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
6fde3632ef
The vendor/ folder was created with the help of @FiloSottile's gvt and vendorcheck. Any dependencies of Caddy plugins outside this repo are not vendored. We do not remove any unused, vendored packages because vendorcheck -u only checks using the current build configuration; i.e. packages that may be imported by files toggled by build tags of other systems. CI tests have been updated to ignore the vendor/ folder. When Go 1.9 is released, a few of the go commands should be revised to again use ./... as it will ignore the vendor folder by default.
73 lines
1.2 KiB
ArmAsm
73 lines
1.2 KiB
ArmAsm
// Copyright 2012 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// This code was translated into a form compatible with 6a from the public
|
|
// domain sources in SUPERCOP: http://bench.cr.yp.to/supercop.html
|
|
|
|
// +build amd64,!gccgo,!appengine
|
|
|
|
#include "const_amd64.h"
|
|
|
|
// func freeze(inout *[5]uint64)
|
|
TEXT ·freeze(SB),7,$0-8
|
|
MOVQ inout+0(FP), DI
|
|
|
|
MOVQ 0(DI),SI
|
|
MOVQ 8(DI),DX
|
|
MOVQ 16(DI),CX
|
|
MOVQ 24(DI),R8
|
|
MOVQ 32(DI),R9
|
|
MOVQ $REDMASK51,AX
|
|
MOVQ AX,R10
|
|
SUBQ $18,R10
|
|
MOVQ $3,R11
|
|
REDUCELOOP:
|
|
MOVQ SI,R12
|
|
SHRQ $51,R12
|
|
ANDQ AX,SI
|
|
ADDQ R12,DX
|
|
MOVQ DX,R12
|
|
SHRQ $51,R12
|
|
ANDQ AX,DX
|
|
ADDQ R12,CX
|
|
MOVQ CX,R12
|
|
SHRQ $51,R12
|
|
ANDQ AX,CX
|
|
ADDQ R12,R8
|
|
MOVQ R8,R12
|
|
SHRQ $51,R12
|
|
ANDQ AX,R8
|
|
ADDQ R12,R9
|
|
MOVQ R9,R12
|
|
SHRQ $51,R12
|
|
ANDQ AX,R9
|
|
IMUL3Q $19,R12,R12
|
|
ADDQ R12,SI
|
|
SUBQ $1,R11
|
|
JA REDUCELOOP
|
|
MOVQ $1,R12
|
|
CMPQ R10,SI
|
|
CMOVQLT R11,R12
|
|
CMPQ AX,DX
|
|
CMOVQNE R11,R12
|
|
CMPQ AX,CX
|
|
CMOVQNE R11,R12
|
|
CMPQ AX,R8
|
|
CMOVQNE R11,R12
|
|
CMPQ AX,R9
|
|
CMOVQNE R11,R12
|
|
NEGQ R12
|
|
ANDQ R12,AX
|
|
ANDQ R12,R10
|
|
SUBQ R10,SI
|
|
SUBQ AX,DX
|
|
SUBQ AX,CX
|
|
SUBQ AX,R8
|
|
SUBQ AX,R9
|
|
MOVQ SI,0(DI)
|
|
MOVQ DX,8(DI)
|
|
MOVQ CX,16(DI)
|
|
MOVQ R8,24(DI)
|
|
MOVQ R9,32(DI)
|
|
RET
|