]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
run copyright.sh for 2011.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.arch / powerpc-d128-regs.exp
1 # This testcase is part of GDB, the GNU debugger.
2
3 # Copyright 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 # Please email any bugs, comments, and/or additions to this file to:
19 # bug-gdb@gnu.org
20
21 # Testcase for ppc decimal128 pseudo-registers.
22
23 if $tracelevel then {
24 strace $tracelevel
25 }
26
27 if ![istarget "powerpc64-*"] then {
28 verbose "Skipping powerpc Decimal128 pseudo-registers testcase."
29 return
30 }
31
32 set testfile "powerpc-d128-regs"
33 set srcfile ${testfile}.c
34 set binfile ${objdir}/${subdir}/${testfile}
35
36 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {quiet debug}] != "" } {
37 untested powerpc-d128-regs.exp
38 return -1
39 }
40
41 # Start with a fresh gdb.
42
43 gdb_exit
44 gdb_start
45 gdb_reinitialize_dir $srcdir/$subdir
46 gdb_load ${binfile}
47
48 if { ![runto main] } then {
49 fail "run to main"
50 return
51 }
52
53 if [gdb_test "show arch" ".*currently powerpc:common.*" "Checking for PPC arch"] {
54 return -1;
55 }
56
57 gdb_test "next" ""
58
59 for {set i 0} {$i < 16} {incr i 1} {
60 gdb_test "set \$dl$i=d128" "" "Set dl$i register"
61
62 gdb_test "print \$dl$i" "\\\$$decimal = 1\.2345678910" "Print dl$i register as DFP"
63
64 gdb_test "info reg dl$i" \
65 "dl$i\[ \]*1\.2345678910\[\t\]*\\(raw 0x2205800000000000000000049c5de09c\\)" \
66 "Print dl$i register with the info reg command"
67
68 gdb_test "info reg f[expr 2*$i]" \
69 "f[expr 2*$i]\[ \]*8\.608957309287334e\-145\[\t\]*\\(raw 0x2205800000000000\\)" \
70 "Testing lower half of dl$i register"
71
72 gdb_test "info reg f[expr 2*$i+1]" \
73 "f[expr 2*$i+1]\[ \]*9\.7841140127686122e\-314\[\t\]*\\(raw 0x000000049c5de09c\\)" \
74 "Testing upper half of dl$i register"
75
76 }