Files
Zach LeslieandGitHub 314048dbd8 Update containerd and google storage dependencies (#1498)
* Update a few dependencies

The primary target for upgrade is the containerd module.  In order to
keep the calls compatible, the GCP storage module is also updated.

* github.com/containerd/containerd
* cloud.google.com/go/storage

* Clean up azure environment during tests

* Update vendor to pin grpc for serverless and go1.17
2022-06-17 11:47:54 -06:00

37 lines
562 B
ArmAsm

// +build !appengine
// +build gc
// +build !noasm
#include "textflag.h"
#include "funcdata.h"
#include "go_asm.h"
TEXT ยทx86extensions(SB), NOSPLIT, $0
// 1. determine max EAX value
XORQ AX, AX
CPUID
CMPQ AX, $7
JB unsupported
// 2. EAX = 7, ECX = 0 --- see Table 3-8 "Information Returned by CPUID Instruction"
MOVQ $7, AX
MOVQ $0, CX
CPUID
BTQ $3, BX // bit 3 = BMI1
SETCS AL
BTQ $8, BX // bit 8 = BMI2
SETCS AH
MOVB AL, bmi1+0(FP)
MOVB AH, bmi2+1(FP)
RET
unsupported:
XORQ AX, AX
MOVB AL, bmi1+0(FP)
MOVB AL, bmi2+1(FP)
RET