Do unset_currtarget_info ldscript for all simulator testsuites.
[deliverable/binutils-gdb.git] / sim / testsuite / sim / mips / basic.exp
1 # MIPS simulator instruction tests
2
3 # Do "run_sim_test TESTFILE MODELS" for each combination of the
4 # mf{lo,hi} -> mult/div/mt{lo,hi} hazard described in mips.igen.
5 # Insert NOPS nops after the mflo or mfhi.
6 proc run_hilo_test {testfile models nops} {
7 foreach reg {lo hi} {
8 foreach insn "{mult\t\$4,\$4} {div\t\$0,\$4,\$4} {mt$reg\t\$4}" {
9 set contents ""
10 append contents "\t.macro hilo\n"
11 append contents "\tmf$reg\t\$4\n"
12 append contents "\t.rept\t$nops\n"
13 append contents "\tnop\n"
14 append contents "\t.endr\n"
15 append contents "\t$insn\n"
16 append contents "\t.endm"
17
18 verbose -log "HILO test:\n$contents"
19 set file [open hilo-hazard.inc w]
20 puts $file $contents
21 close $file
22
23 run_sim_test $testfile $models
24 }
25 }
26 }
27
28
29 # Only test mips*-*-elf (e.g., no mips*-*-linux)
30 if {[istarget mips*-*-elf]} {
31
32 set dspmodels ""
33 set mdmxmodels ""
34
35 if {[istarget mipsisa64sb1*-*-elf]} {
36 set models "sb1"
37 set submodels "mips1 mips2 mips3 mips4 mips32 mips64"
38 append mdmxmodels " mips64"
39 } elseif {[istarget mipsisa64*-*-elf]} {
40 set models "mips32 mips64 mips32r2 mips64r2"
41 set submodels "mips1 mips2 mips3 mips4"
42 append dspmodels " mips32r2 mips64r2"
43 append mdmxmodels " mips64 mips32r2 mips64r2"
44 } elseif {[istarget mips*-sde-elf*] || [istarget mips*-mti-elf*]} {
45 set models "mips32 mips64 mips32r2 mips64r2"
46 set submodels ""
47 append dspmodels " mips32r2 mips64r2"
48 append mdmxmodels " mips64 mips32r2 mips64r2"
49 } elseif {[istarget mipsisa32*-*-elf]} {
50 set models "mips32 mips32r2"
51 set submodels "mips1 mips2"
52 append dspmodels " mips32r2"
53 append mdmxmodels " mips32r2"
54 } elseif {[istarget mips64vr*-*-elf]} {
55 set models "vr4100 vr4111 vr4120 vr5000 vr5400 vr5500"
56 set submodels "mips1 mips2 mips3 mips4"
57 } elseif {[istarget mips64*-*-elf]} {
58 set models "mips3"
59 set submodels "mips1 mips2"
60 } else {
61 # fall back to just testing mips1 code.
62 set models "mips1"
63 set submodels ""
64 }
65 append submodels " " $models
66 set cpu_option -march
67
68 run_sim_test sanity.s $submodels
69 foreach nops {0 1} {
70 run_hilo_test hilo-hazard-1.s $models $nops
71 run_hilo_test hilo-hazard-2.s $models $nops
72 }
73 run_hilo_test hilo-hazard-3.s $models 2
74
75 run_sim_test fpu64-ps.s $submodels
76 run_sim_test fpu64-ps-sb1.s $submodels
77
78 run_sim_test mdmx-ob.s $mdmxmodels
79 run_sim_test mdmx-ob-sb1.s $mdmxmodels
80
81 run_sim_test mips32-dsp.s $dspmodels
82 run_sim_test mips32-dsp2.s $dspmodels
83 }
This page took 0.031717 seconds and 4 git commands to generate.