* NEWS: Mention new ARM command-line options and VFP support.
[binutils-gdb.git] / gas / testsuite / gas / arm / arm.exp
1 #
2 # Some ARM tests
3 #
4 proc run_errors_test { name opts tname} {
5 global srcdir subdir
6 set testname "$tname"
7 set file $srcdir/$subdir/$name
8 gas_run ${name}.s $opts ">&${name}.out"
9 if { [regexp_diff "${name}.out" "${file}.l"] } then {
10 fail $testname
11 verbose "output is [file_contents "${name}.out"]" 2
12 return
13 }
14 pass $testname
15 }
16
17 if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
18 run_dump_test "inst"
19
20 run_dump_test "ldconst"
21
22 run_dump_test "armv1"
23
24 run_errors_test "armv1-bad" "-marm1" "ARM v1 errors"
25
26 gas_test "arm3.s" "-marm3" $stdoptlist "Arm 3 instructions"
27
28 gas_test "arm6.s" "-marm6" $stdoptlist "Arm 6 instructions"
29
30 gas_test "arm7dm.s" "-marm7dm" $stdoptlist "Arm 7DM instructions"
31
32 run_dump_test "arm7t"
33
34 gas_test "thumb.s" "-marm7t" $stdoptlist "Thumb instructions"
35
36 gas_test "arch4t.s" "-marmv4t" $stdoptlist "Arm architecture 4t instructions"
37
38 gas_test "copro.s" "" $stdoptlist "Co processor instructions"
39
40 gas_test "immed.s" "" $stdoptlist "immediate expressions"
41
42 gas_test "float.s" "" $stdoptlist "Core floating point instructions"
43
44 run_dump_test "fpa-monadic"
45
46 run_dump_test "fpa-dyadic"
47
48 run_dump_test "fpa-mem"
49
50 run_dump_test "vfp1xD"
51
52 run_dump_test "vfp1"
53
54 run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"
55
56 run_dump_test "xscale"
57
58 run_dump_test "adrl"
59
60 if {[istarget *-*-elf*] || [istarget *-*-linux*]} then {
61 run_dump_test "pic"
62 }
63 }
64
65 # Not all arm targets are bi-endian, so only run this test on ones
66 # we know that are. FIXME: We should probably also key off armeb/armel.
67
68 if [istarget arm-*-pe] {
69 run_dump_test "le-fpconst"
70
71 # Since big-endian numbers have the normal format, this doesn't exist.
72 #run_dump_test "be-fpconst"
73 }
74
75 if [istarget arm9e-*] {
76 run_dump_test "maverick"
77 }