1 /* Copyright 2015-2019 Free Software Foundation, Inc.
3 This file is part of GDB.
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.
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.
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/>. */
20 /* 'check_vx': Yield SIGILL unless vector support is
21 available. Have a "pit stop" breakpoint here. */
24 .type check_vx, @function
28 .byte 0xe7,0x00,0x00,0x00,0x00,0x56
31 .size check_vx, .-check_vx
34 /* 'store_vrs': Store vector registers in save_area. */
37 .type store_vrs, @function
41 /* vstm %v0,%v15,0(%r1) */
42 .byte 0xe7,0x0f,0x10,0x00,0x00,0x3e
43 /* vstm %v16,%v31,256(%r1) */
44 .byte 0xe7,0x0f,0x11,0x00,0x0c,0x3e
47 .size store_vrs, .-store_vrs
50 /* 'change_vrs': Manipulate vector registers according to a
54 .type change_vrs, @function
59 1: .insn ril,0xc60000000000,%r3,2f /* exrl */
60 .insn ril,0xc60000000000,%r3,1f /* exrl */
65 /* vmlf %v0,%v0,%v0 */
66 1: .byte 0xe7,0x00,0x00,0x00,0x20,0xa2
67 /* vmlf %v16,%v16,%v0 */
68 2: .byte 0xe7,0x00,0x00,0x00,0x2c,0xa2
71 /* 'main': Perform actions according to test case logic.
72 Invoke check_vx whenever a pit stop is required. */
74 .section .text.startup,"ax",@progbits
80 stmg %r14,%r15,112(%r15)
87 lmg %r14,%r15,272(%r15)
94 .comm save_area,512,16
96 .section .note.GNU-stack,"",@progbits