SpecTest: Specification-based Compiler Fuzzing