diff options
Diffstat (limited to 'gas/testsuite/gas/arc/arc.exp')
-rw-r--r-- | gas/testsuite/gas/arc/arc.exp | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/gas/testsuite/gas/arc/arc.exp b/gas/testsuite/gas/arc/arc.exp deleted file mode 100644 index b0984535e2e..00000000000 --- a/gas/testsuite/gas/arc/arc.exp +++ /dev/null @@ -1,114 +0,0 @@ -# ARC gas testsuite - -# Test an insn from a template .s/.d. -# The best way to create the .d file is to run the tests without it, let -# dejagnu crash, run as.new on the just built .s file, run objdump -dr on -# the result of that, copy the result into the .d file, and edit in the -# necessary patterns (@OC@, etc.). Sounds complicated but it's easy. The -# catch is that we assume a working assembler is used to build it. That's -# obviously not entirely kosher, but once the .d file is created one can -# verify it's contents over time. -# -# Template patterns: -# @OC@ - placeholder for the opcode -# @IC+?@ - place holder for the insn code -# @I3+??@ - place holder for the operation code of code 3 insns. - -proc test_template_insn { cpu tmpl opcode icode } { - global srcdir subdir objdir - - # Change @OC@ in the template file to $opcode - - set in_fd [open $srcdir/$subdir/$tmpl.s r] - set out_fd [open $objdir/$opcode.s w] - # FIXME: check return codes - - puts $out_fd "\t.cpu $cpu\n" - while { [gets $in_fd line] >= 0 } { - regsub "@OC@" $line $opcode line - puts $out_fd $line - } - - close $in_fd - close $out_fd - - # Create output template. - - set in_fd [open $srcdir/$subdir/$tmpl.d r] - set out_fd [open $objdir/$opcode.d w] - # FIXME: check return codes - - while { [gets $in_fd line] >= 0 } { - regsub "@OC@" $line $opcode line - #send_user "$line\n" - if [string match "*@IC+?@*" $line] { - # Insert the opcode. It occupies the top 5 bits. - regexp "^(.*)@IC\\+(.)@(.*)$" $line junk leftpart n rightpart - set n [expr ($icode << 3) + $n] - set n [format "%02x" $n] - puts $out_fd "$leftpart$n$rightpart" - } elseif [string match "*@I3+??@*" $line] { - # Insert insn 3 code (register C field) - # b15=8/0, b8=1/0 (their respective hex values in the objdump) - regexp "^(.*)@I3\\+(.)(.)@(.*)$" $line junk leftpart b15 b8 rightpart - set n [expr ($icode << 1) + ($b15 << 4) + ($b8 << 0)] - set n [format "%02x" $n] - puts $out_fd "$leftpart$n$rightpart" - } else { - puts $out_fd $line - } - } - - close $in_fd - close $out_fd - - # Finally, run the test. - - run_dump_test $objdir/$opcode - - # "make clean" won't delete these, so for now we must. - catch "exec rm -f $objdir/$opcode.s $objdir/$opcode.d" -} - -# Run the tests. - -if [istarget arc*-*-*] then { - - test_template_insn base math adc 9 - test_template_insn base math add 8 - test_template_insn base math and 12 - test_template_insn base math bic 14 - test_template_insn base math or 13 - test_template_insn base math sbc 11 - test_template_insn base math sub 10 - test_template_insn base math xor 15 - - test_template_insn base alias mov 12 - test_template_insn base alias rlc 9 - test_template_insn base alias asl 8 -# `lsl' gets dumped as `asl' so this must be tested elsewhere. -# test_template_insn base alias lsl 8 - - test_template_insn base sshift asr 1 - test_template_insn base sshift lsr 2 - test_template_insn base sshift ror 3 - test_template_insn base sshift rrc 4 - - test_template_insn base branch b 4 - test_template_insn base branch bl 5 - test_template_insn base branch lp 6 - - run_dump_test "j" - - test_template_insn base insn3 sexb 5 - test_template_insn base insn3 sexw 6 - test_template_insn base insn3 extb 7 - test_template_insn base insn3 extw 8 - - run_dump_test "flag" -# run_dump_test "nop" - - run_dump_test "ld" - run_dump_test "st" - -} |