# Copyright (C) 2012-2021 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  

#
# Driver for D10V assembler testsuite
#
if {[istarget d10v-*-*]} {
    run_dump_test "inst"
    run_dump_test "address-001"
    run_list_test "address-002" ""
    run_list_test "address-003" ""
    run_list_test "address-004" ""
    run_list_test "address-005" ""
    run_list_test "address-006" ""
    run_list_test "address-007" ""
    run_list_test "address-008" ""
    run_list_test "address-009" ""
    run_list_test "address-010" ""
    run_list_test "address-011" ""
    run_list_test "address-012" ""
    run_list_test "address-013" ""
    run_list_test "address-014" ""
    run_list_test "address-015" ""
    run_list_test "address-016" ""
    run_list_test "address-017" ""
    run_list_test "address-018" ""
    run_list_test "address-019" ""
    run_list_test "address-020" ""
    run_list_test "address-021" ""
    run_list_test "address-022" ""
    run_list_test "address-023" ""
    run_list_test "address-024" ""
    run_list_test "address-025" ""
    run_list_test "address-026" ""
    run_list_test "address-027" ""
    run_list_test "address-028" ""
    run_list_test "address-029" ""
    run_list_test "address-030" ""
    run_list_test "address-031" ""
    run_list_test "address-032" ""
    run_list_test "address-033" ""
    run_list_test "address-034" ""
    run_list_test "address-035" ""
    run_list_test "address-036" ""
    run_list_test "address-037" ""
    run_list_test "address-038" ""
    run_list_test "address-039" ""
    run_list_test "address-040" ""
    run_list_test "address-041" ""
    run_dump_test "instruction_packing"
    run_dump_test "instruction_packing-001"
    run_dump_test "instruction_packing-002"
    run_dump_test "instruction_packing-003"
    run_dump_test "instruction_packing-004"
    run_dump_test "instruction_packing-005"
    run_dump_test "instruction_packing-006"
    run_dump_test "instruction_packing-007"
    run_dump_test "instruction_packing-008"
    run_dump_test "instruction_packing-009"
    run_dump_test "instruction_packing-010"
    run_dump_test "error-001"
    run_dump_test "error-002"
    run_dump_test "immediate-001"
    run_dump_test "immediate-002"
    run_dump_test "immediate-003"
    run_dump_test "immediate-004"
    run_dump_test "immediate-005"
    run_dump_test "immediate-006"
    run_dump_test "immediate-007"
    run_dump_test "warning-001"
    run_dump_test "warning-002"
    run_dump_test "warning-003"
    run_dump_test "warning-004"
    run_dump_test "warning-005"
    run_dump_test "warning-006"
    run_dump_test "warning-007"
    run_dump_test "warning-008"
    run_dump_test "warning-009"
    run_dump_test "warning-010"
    run_dump_test "warning-011"
    run_dump_test "warning-012"
    run_dump_test "warning-013"
    run_dump_test "warning-014"
    run_dump_test "warning-015"
    run_dump_test "warning-015"
    run_dump_test "warning-016"
    run_dump_test "warning-017"
    run_dump_test "warning-018"
    run_dump_test "warning-019"
    run_dump_test "control-001"
    run_dump_test "label-001"
}
