Source file
src/internal/cpu/cpu_windows_test.go
1
2
3
4
5 package cpu_test
6
7 import (
8 "internal/cpu"
9 "internal/syscall/windows"
10 "runtime"
11 "testing"
12 )
13
14 func TestARM64WindowsFeatures(t *testing.T) {
15 if runtime.GOARCH != "amd64" {
16 return
17 }
18
19 if cpu.ARM64.HasCPUID {
20 t.Fatal("HasCPUID expected false, got true")
21 }
22 if cpu.ARM64.HasDIT {
23 t.Fatal("HasDIT expected false, got true")
24 }
25 if cpu.ARM64.IsNeoverse {
26 t.Fatal("IsNeoverse expected false, got true")
27 }
28
29 if got, want := cpu.ARM64.HasAES, windows.IsProcessorFeaturePresent(windows.PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); got != want {
30 t.Fatalf("HasAES expected %v, got %v", want, got)
31 }
32 if got, want := cpu.ARM64.HasPMULL, windows.IsProcessorFeaturePresent(windows.PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); got != want {
33 t.Fatalf("HasPMULL expected %v, got %v", want, got)
34 }
35 if got, want := cpu.ARM64.HasSHA1, windows.IsProcessorFeaturePresent(windows.PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); got != want {
36 t.Fatalf("HasSHA1 expected %v, got %v", want, got)
37 }
38 if got, want := cpu.ARM64.HasSHA2, windows.IsProcessorFeaturePresent(windows.PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); got != want {
39 t.Fatalf("HasSHA2 expected %v, got %v", want, got)
40 }
41
42 if got, want := cpu.ARM64.HasSHA3, windows.IsProcessorFeaturePresent(windows.PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE); got != want {
43 t.Fatalf("HasSHA3 expected %v, got %v", want, got)
44 }
45 if got, want := cpu.ARM64.HasCRC32, windows.IsProcessorFeaturePresent(windows.PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE); got != want {
46 t.Fatalf("HasCRC32 expected %v, got %v", want, got)
47 }
48 if got, want := cpu.ARM64.HasSHA512, windows.IsProcessorFeaturePresent(windows.PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE); got != want {
49 t.Fatalf("HasSHA512 expected %v, got %v", want, got)
50 }
51 if got, want := cpu.ARM64.HasATOMICS, windows.IsProcessorFeaturePresent(windows.PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE); got != want {
52 t.Fatalf("HasATOMICS expected %v, got %v", want, got)
53 }
54 }
55
View as plain text