Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
cmd/compile: in the codgen test harness, always test architecture flavours like GO386=387 #24658
Opening this for discussion, as requested by @bradfitz.
In the new codegen test harness, code generation tests on architectures that have multiple "flavours" (like 386, with
Basically we just OR in the regex the ops from all the possible flavours. The test harness will compile
This is somewhat brittle and has broken builders in the past, because
One possible solution is to make the codegen test harness compile each test that contains a
I don't mind running it twice (and three times for GOARM) - it's still fast enough after std has been built - but I wonder what happens when we will eventually hit a test that cannot be compiled / doesn't make sense for a specific combination. For instance a test might be checking a GOARM7-only optimization that triggers generation of an opcode; running the same test under older GOARM doesn't make sense and is probably difficult to even safely write with the "or" pattern without breaking the effectiveness of the test for GOARM7.
So my suggestion is to do the multi-compilation by default, and then let developers specify a specific pattern for a specific arch, such as