@@ -904,6 +904,54 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
904904 }
905905}
906906
907+ /// Runs `library/stdarch/crates/stdarch-verify`'s tests which cross-check the
908+ /// `core::arch` intrinsics for x86, Arm, and MIPS against the corresponding
909+ /// vendor references (signatures, target features, and `assert_instr` mappings).
910+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
911+ pub struct StdarchVerify ;
912+
913+ impl Step for StdarchVerify {
914+ type Output = ( ) ;
915+ const IS_HOST : bool = true ;
916+
917+ fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
918+ run. path ( "library/stdarch/crates/stdarch-verify" )
919+ }
920+
921+ fn is_default_step ( _builder : & Builder < ' _ > ) -> bool {
922+ true
923+ }
924+
925+ fn make_run ( run : RunConfig < ' _ > ) {
926+ run. builder . ensure ( StdarchVerify ) ;
927+ }
928+
929+ fn run ( self , builder : & Builder < ' _ > ) {
930+ let host = builder. config . host_target ;
931+ let build_compiler = builder. compiler ( 0 , host) ;
932+
933+ let cargo = tool:: prepare_tool_cargo (
934+ builder,
935+ build_compiler,
936+ Mode :: ToolBootstrap ,
937+ host,
938+ Kind :: Test ,
939+ "library/stdarch/crates/stdarch-verify" ,
940+ SourceType :: InTree ,
941+ & [ ] ,
942+ ) ;
943+
944+ run_cargo_test (
945+ cargo,
946+ & [ ] ,
947+ & [ "stdarch-verify" . to_string ( ) ] ,
948+ Some ( "stdarch-verify" ) ,
949+ host,
950+ builder,
951+ ) ;
952+ }
953+ }
954+
907955#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
908956pub struct Clippy {
909957 compilers : RustcPrivateCompilers ,
0 commit comments