# XSCALE simulator testsuite.

if { [istarget xscale*-*-*] } {
    # load support procs (none yet)
    # load_lib cgen.exp

    # all machines
    set all_machs "xscale"

    if [is_remote host] {
      remote_download host $srcdir/$subdir/testutils.inc
    }

    # The .cgs suffix is for "cgen .s".
    foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.cgs]] {
	# 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
    }

    if [is_remote host] {
      remote_file host delete testutils.inc
    }
}
