# Copyright (C) 2012-2014 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.  

# FRV assembler testsuite.

if [istarget frv*-*-*] {
    run_dump_test "allinsn"

    run_dump_test "fdpic"
    run_dump_test "reloc1"
    run_dump_test "fr405-insn"
    run_list_test "fr405-insn" "-mcpu=fr400" "fr405-insn -mcpu=fr400"
    run_list_test "fr405-insn" "-mcpu=fr500" "fr405-insn -mcpu=fr500"

    run_dump_test "fr450-spr"
    run_dump_test "fr450-insn"
    run_list_test "fr450-insn" "-mcpu=fr405" "fr450-insn -mcpu=fr405"
    run_list_test "fr450-insn" "-mcpu=fr400" "fr450-insn -mcpu=fr400"
    run_list_test "fr450-insn" "-mcpu=fr500" "fr450-insn -mcpu=fr500"
    run_list_test "fr450-media-issue" "-mcpu=fr450"

    run_dump_test "fr550-pack1"

    run_dump_test "immediates"
}
