# ARM simulator testsuite.

if { [istarget arm*-*-*] || [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
    }
}
