mirror of
https://github.com/golang/go
synced 2024-11-08 03:26:11 -07:00
03ef105dae
Part 1: CL 199499 (GOOS nacl) Part 2: CL 200077 (amd64p32 files, toolchain) Part 3: stuff that arguably should've been part of Part 2, but I forgot one of my grep patterns when splitting the original CL up into two parts. This one might also have interesting stuff to resurrect for any future x32 ABI support. Updates #30439 Change-Id: I2b4143374a253a003666f3c69e776b7e456bdb9c Reviewed-on: https://go-review.googlesource.com/c/go/+/200318 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
// Copyright 2018 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.
|
|
|
|
// +build 386 amd64
|
|
|
|
package cpu_test
|
|
|
|
import (
|
|
. "internal/cpu"
|
|
"os"
|
|
"runtime"
|
|
"testing"
|
|
)
|
|
|
|
func TestX86ifAVX2hasAVX(t *testing.T) {
|
|
if X86.HasAVX2 && !X86.HasAVX {
|
|
t.Fatalf("HasAVX expected true when HasAVX2 is true, got false")
|
|
}
|
|
}
|
|
|
|
func TestDisableSSE2(t *testing.T) {
|
|
runDebugOptionsTest(t, "TestSSE2DebugOption", "cpu.sse2=off")
|
|
}
|
|
|
|
func TestSSE2DebugOption(t *testing.T) {
|
|
MustHaveDebugOptionsSupport(t)
|
|
|
|
if os.Getenv("GODEBUG") != "cpu.sse2=off" {
|
|
t.Skipf("skipping test: GODEBUG=cpu.sse2=off not set")
|
|
}
|
|
|
|
want := runtime.GOARCH != "386" // SSE2 can only be disabled on 386.
|
|
if got := X86.HasSSE2; got != want {
|
|
t.Errorf("X86.HasSSE2 on %s expected %v, got %v", runtime.GOARCH, want, got)
|
|
}
|
|
}
|
|
|
|
func TestDisableSSE3(t *testing.T) {
|
|
runDebugOptionsTest(t, "TestSSE3DebugOption", "cpu.sse3=off")
|
|
}
|
|
|
|
func TestSSE3DebugOption(t *testing.T) {
|
|
MustHaveDebugOptionsSupport(t)
|
|
|
|
if os.Getenv("GODEBUG") != "cpu.sse3=off" {
|
|
t.Skipf("skipping test: GODEBUG=cpu.sse3=off not set")
|
|
}
|
|
|
|
want := false
|
|
if got := X86.HasSSE3; got != want {
|
|
t.Errorf("X86.HasSSE3 expected %v, got %v", want, got)
|
|
}
|
|
}
|