github.com/vc42/parquet-go@v0.0.0-20240320194221-1a9adb5f23f5/parquet_amd64.go (about) 1 //go:build !purego 2 3 package parquet 4 5 import "golang.org/x/sys/cpu" 6 7 var ( 8 // This variable is used in x86 assembly source files to gate the use of 9 // AVX2 instructions depending on whether the CPU supports it. 10 hasAVX2 = cpu.X86.HasAVX2 11 hasAVX512F = cpu.X86.HasAVX512F 12 hasAVX512VL = cpu.X86.HasAVX512F && cpu.X86.HasAVX512VL 13 // For min/max functions over big-endian 128 bits values, we need the 14 // follwing instructions from the DQ set: 15 // * VPBROADCASTQ (with 64 bits source register) 16 // * VBROADCASTI64X2 17 hasAVX512MinMaxBE128 = cpu.X86.HasAVX512F && cpu.X86.HasAVX512DQ 18 )