mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	Print flag can be used to make additional information requests about the build and print their results. Currently Dockerfile supports: outline, targets, subrequests.describe Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
		
			
				
	
	
		
			37 lines
		
	
	
		
			562 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			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
 |