blob: 53f4b74a1ea55f30b143f0aa5d02b78177610a60 [file]
#!/bin/bash
# This is an end-to-end test of Go SIMD. It updates all generated
# files in this repo and then runs several tests.
which go >/dev/null || exit 1
set -ex
# Regenerate SIMD files
go run . -w -o godefs -arch amd64 go_amd64.yaml types.yaml categories.yaml
# Regenerate SSA files from SIMD rules
go run -C ../../../../cmd/compile/internal/ssa/_gen .
# Rebuild compiler
go install cmd/compile
# Tests
# Set the GOEXPERIMENT explicitly.
GOEXPERIMENT=simd GOARCH=amd64 go run -C ../../../../simd/archsimd/testdata .
GOEXPERIMENT=simd GOARCH=amd64 go test -v ../../../../simd/archsimd
GOEXPERIMENT=simd GOARCH=amd64 go test go/doc go/build
GOEXPERIMENT=simd GOARCH=amd64 go test cmd/api -v -check -run ^TestCheck$
GOEXPERIMENT=simd GOARCH=amd64 go test cmd/compile/internal/ssagen -simd=0
# Check tests without the GOEXPERIMENT
GOEXPERIMENT= go test go/doc go/build
GOEXPERIMENT= go test cmd/api -v -check -run ^TestCheck$
GOEXPERIMENT= go test cmd/compile/internal/ssagen -simd=0
# TODO: Add some tests of SIMD itself