Files
wazero/internal/platform/cpuid_amd64_test.go
2024-05-28 17:44:05 +09:00

31 lines
887 B
Go

package platform
import (
"testing"
"github.com/tetratelabs/wazero/internal/testing/require"
)
func TestAmd64CpuId_cpuHasFeature(t *testing.T) {
flags := cpuFeatureFlags{
flags: uint64(CpuFeatureAmd64SSE3),
extraFlags: uint64(CpuExtraFeatureAmd64ABM),
}
require.True(t, flags.Has(CpuFeatureAmd64SSE3))
require.False(t, flags.Has(CpuFeatureAmd64SSE4_2))
require.True(t, flags.HasExtra(CpuExtraFeatureAmd64ABM))
require.False(t, flags.HasExtra(1<<6)) // some other value
}
func TestAmd64CpuFeatureFlags_Raw(t *testing.T) {
flags := cpuFeatureFlags{
flags: uint64(CpuFeatureAmd64SSE3 | CpuFeatureAmd64SSE4_1 | CpuFeatureAmd64SSE4_2),
extraFlags: uint64(CpuExtraFeatureAmd64ABM),
}
require.Equal(t, uint64(0b1111), flags.Raw())
flags.flags = 0
require.Equal(t, uint64(0b1000), flags.Raw())
flags.extraFlags = 0
require.Equal(t, uint64(0), flags.Raw())
}