#
# Some ARM tests
#
proc run_errors_test { name opts tname} {
    global srcdir subdir
    set testname "$tname"
    set file $srcdir/$subdir/$name
    gas_run ${name}.s $opts ">&${name}.out"
    if { [regexp_diff "${name}.out" "${file}.l"] } then {
        fail $testname
        verbose "output is [file_contents "${name}.out"]" 2
        return
    }
    pass $testname
}

if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
    run_dump_test "inst"

    run_dump_test "ldconst"

    run_dump_test "armv1"

    run_errors_test "armv1-bad" "-mcpu=arm7m" "ARM v1 errors"

    gas_test "arm3.s" "-mcpu=arm3" $stdoptlist "Arm 3 instructions"

    gas_test "arm6.s" "-mcpu=arm6" $stdoptlist "Arm 6 instructions"

    gas_test "arm7dm.s" "-mcpu=arm7dm" $stdoptlist "Arm 7DM instructions"

    run_dump_test "arm7t"

    if {! [istarget arm*-*-aout]} then {
	# The arm-aout port does not support Thumb mode.
	gas_test "thumb.s" "-mcpu=arm7t" $stdoptlist "Thumb instructions"
    }

    gas_test "arch4t.s" "-march=armv4t" $stdoptlist "Arm architecture 4t instructions"

    run_dump_test "arch5tej"

    gas_test "copro.s" "" $stdoptlist "Co processor instructions"

    gas_test "immed.s" "" $stdoptlist "immediate expressions"

    gas_test "float.s" "" $stdoptlist "Core floating point instructions"

    run_dump_test "fpa-monadic"

    run_dump_test "fpa-dyadic"

    run_dump_test "fpa-mem"

    run_dump_test "vfp1xD"

    run_dump_test "vfp1"

    run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"

    run_dump_test "xscale"

    run_dump_test "adrl"

    if {[istarget *-*-elf*] || [istarget *-*-linux*]} then {
	run_dump_test "pic"
    }
}

# Not all arm targets are bi-endian, so only run this test on ones
# we know that are.  FIXME: We should probably also key off armeb/armel.

if [istarget arm-*-pe] {
    run_dump_test "le-fpconst"

    # Since big-endian numbers have the normal format, this doesn't exist.
    #run_dump_test "be-fpconst"
}

if [istarget arm9e-*] {
    run_dump_test "maverick"
}
