# Miscellaneous M32R simulator testcases

if [istarget m32r*-*-*] {
    # load support procs
    # load_lib cgen.exp

    # all machines
    set all_machs "m32r"


    # The .ms suffix is for "miscellaneous .s".
    foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.ms]] {
	# If we're only testing specific files and this isn't one of them,
	# skip it.
	if ![runtest_file_p $runtests $src] {
	    continue
	}

	run_sim_test $src $all_machs
    }
}
