1 2# 3# Test x930509a -- correct assembly of differences involving forward 4# references. 5# 6proc do_930509a_tic4x {} { 7 set testname "difference between forward references (tic4x version)" 8 set x 0 9 gas_start "../all/x930509.s" "-al" 10 while 1 { 11# We need to accomodate both byte orders here. 12# If ".long" means an 8-byte value on some target someday, this test will have 13# to be fixed. 14 expect { 15 -re "^ +1 .... 00 ?00 ?00 ?00" { fail $testname; set x 1 } 16 -re "^ +1 .... 01 ?00 ?00 ?00" { pass $testname; set x 1 } 17 -re "^ +1 .... 00 ?00 ?00 ?01" { pass $testname; set x 1 } 18 -re "\[^\n\]*\n" { } 19 timeout { perror "timeout\n"; break } 20 eof { break } 21 } 22 } 23 gas_finish 24 if !$x then { fail $testname } 25} 26 27 28# 29# TI TMS320C4X tests. 30# 31if [istarget *c4x*-*-*] then { 32 do_930509a_tic4x 33 34 # Test zero-based disassemble test 35 run_dump_test "zeros" 36 37 # Test the register names on the c3x and on the c4x 38 run_dump_test "registers_c3x" 39 run_dump_test "registers_c4x" 40 41 # Make sure the c4x registers dont work on c3x 42 gas_test_error "registers.s" "-m30 --defsym TEST_C4X=1" "c4x register usage in c3x" 43 44 # Test data storage 45 run_dump_test "data" 46 47 # Test flonums 48 run_dump_test "float" 49 50 # Test all addressing modes 51 run_dump_test "addressing_c3x" 52 run_dump_test "addressing_c4x" 53 54 # Make sure the c4x addressing dont work on c3x 55 gas_test_error "addressing.s" "-m30 --defsym TEST_C4X=1" "c4x addressing usage in c3x" 56 57 # Test float instructions 58 run_dump_test "opcodes_c3x" 59 run_dump_test "opcodes_c4x" 60 run_dump_test "opcodes_new" 61 62 # Make sure the c4x ops dont work on c3x 63 #gas_test_error "opcodes.s" "-m30 --defsym TEST_C4X=1" "c4x instruction usage in c3x" 64 # -- for some reason this test crashes dejagnu, hence disabled! 65} 66