Remove -8 bias on PC-relative load instructions for arm-wince-pe target
[binutils.git] / gas / testsuite / gas / arm / arm.exp
blob9eef1b3de24cb0ca83bfcdd3fa389f7bab388e0c
2 # Some ARM tests
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
14 pass $testname
17 if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
19 if {[istarget *-wince-*]} then {
20 run_dump_test "wince_inst"
21 run_dump_test "wince_ldconst"
22 run_dump_test "wince_arm7t"
23 run_dump_test "wince_copro"
24 } else {
25 run_dump_test "inst"
26 run_dump_test "ldconst"
27 run_dump_test "arm7t"
28 run_dump_test "copro"
31 run_dump_test "armv1"
33 run_errors_test "armv1-bad" "-mcpu=arm7m" "ARM v1 errors"
35 gas_test "arm3.s" "-mcpu=arm3" $stdoptlist "Arm 3 instructions"
37 gas_test "arm6.s" "-mcpu=arm6" $stdoptlist "Arm 6 instructions"
39 gas_test "arm7dm.s" "-mcpu=arm7dm" $stdoptlist "Arm 7DM instructions"
41 if {! [istarget arm*-*-aout] && ![istarget arm-*-pe]} then {
42 # The arm-aout port does not support Thumb mode.
43 gas_test "thumb.s" "-mcpu=arm7t" $stdoptlist "Thumb instructions"
46 gas_test "arch4t.s" "-march=armv4t" $stdoptlist "Arm architecture 4t instructions"
48 run_dump_test "arch5tej"
50 gas_test "immed.s" "" $stdoptlist "immediate expressions"
52 gas_test "float.s" "-mcpu=arm7tdmi -mfpu=fpa" $stdoptlist "Core floating point instructions"
54 run_dump_test "fpa-monadic"
56 run_dump_test "fpa-dyadic"
58 run_dump_test "fpa-mem"
60 run_dump_test "vfp1xD"
62 run_dump_test "vfp1"
64 run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"
66 run_dump_test "xscale"
68 run_dump_test "adrl"
70 run_errors_test "req" "-mcpu=arm7m" ".req errors"
72 run_dump_test "maverick"
74 run_dump_test "archv6"
76 run_dump_test "thumbv6"
78 run_errors_test "r15-bad" "" "Invalid use of r15 errors"
80 if {[istarget *-*-elf*] || [istarget *-*-linux*]} then {
81 run_dump_test "pic"
83 run_dump_test "mapping"
86 gas_test "offset.s" "" $stdoptlist "OFFSET_IMM regression"
89 # Not all arm targets are bi-endian, so only run this test on ones
90 # we know that are. FIXME: We should probably also key off armeb/armel.
92 if [istarget arm-*-pe] {
93 run_dump_test "le-fpconst"
95 # Since big-endian numbers have the normal format, this doesn't exist.
96 #run_dump_test "be-fpconst"
99 if [istarget xscale-*] {
100 run_dump_test "iwmmxt"
101 run_errors_test "iwmmxt-bad" "-mcpu=iwmmxt" "iWMMXt errors"