# Copyright (C) 2016-2019 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, see . # Contributed by Imagination Technologies, written by Maciej W. Rozycki. # Test MIPS Floating Point Control Register handling. if { ![istarget "mips*-*-*"] } then { verbose "Skipping MIPS Floating Point Control Register tests." return } standard_testfile if { [prepare_for_testing "failed to prepare" ${testfile}] } { return } if ![runto_main] { return } # First check if we have an FPU available in the first place. gdb_test_multiple "show mipsfpu" "check for MIPS floating-point coprocessor" { -re "The MIPS floating-point coprocessor .*\(absent\|unknown\).*$gdb_prompt $" { unsupported "no MIPS floating-point coprocessor in the processor" return } -re "The MIPS floating-point coprocessor .*$gdb_prompt $" { verbose "MIPS floating-point coprocessor check successful." } default { fail return } } # Now check that FCRs are accessible and 32-bit wide. gdb_test "info registers \$fcsr" "fcsr: $hex" gdb_test "print sizeof \$fcsr" "\\\$$decimal = 4" gdb_test "info registers \$fir" "fir: $hex" gdb_test "print sizeof \$fir" "\\\$$decimal = 4"