1# Copyright 2015-2021 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16# This file is part of the gdb testsuite. 17 18if {![istarget "aarch64*-*-*"] && ![istarget "arm*-*-*"]} { 19 verbose "Skipping ${gdb_test_file_name}." 20 return 21} 22 23if { [gdb_skip_float_test] } { 24 verbose "Skipping ${gdb_test_file_name}." 25 return 26} 27 28standard_testfile 29if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug quiet}] } { 30 unsupported "ARM NEON is not supported" 31 return -1 32} 33 34if ![runto_main] { 35 untested "could not run to main" 36 return -1 37} 38 39# Test passing vectors in function argument in the inferior call. 40 41for {set i 1} {$i <= 18} {incr i} { 42 43 set contents "" 44 set test "print a${i}" 45 gdb_test_multiple "p a${i}" $test { 46 -re " = (.*)\r\n$gdb_prompt $" { 47 set contents $expect_out(1,string) 48 } 49 } 50 regsub -all "\{" $contents "\\\\\{" contents 51 gdb_test "p vec_func${i} \(a${i}\)" "= $contents" 52} 53 54# Test passing homogeneous vector aggregate in function argument 55# in the inferior call. 56 57for {set i 1} {$i <= 3} {incr i} { 58 set contents "" 59 set test "print hva${i}" 60 gdb_test_multiple "p hva${i}" $test { 61 -re " = (.*)\r\n$gdb_prompt $" { 62 set contents $expect_out(1,string) 63 } 64 } 65 regsub -all "\{" $contents "\\\\\{" contents 66 gdb_test "p hva_func${i} \(hva${i}\)" "= $contents" 67} 68