* gas/config/tc-avr.c: Change ISA for devices with USB support to
[external/binutils.git] / sim / testsuite / sim / mips / utils-mdmx.inc
1 # MIPS simulator testsuite MDMX utility functions.
2 # Copyright (C) 2004-2013 Free Software Foundation, Inc.
3 # Contributed by Chris Demetriou of Broadcom Corporation.
4 #
5 # This file is part of the GNU simulators.
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20         .include "utils-fpu.inc"
21
22         ###
23         ### Shared macros
24         ###
25
26         # Enable MDMX: enable the FPU w/ FR=1, then set Status.MX
27         .macro  enable_mdmx
28         enable_fpu 1
29         mfc0    $20, $12
30         or      $20, $20, (1 << 24)
31         mtc0    $20, $12
32         .endm
33
34
35         ###
36         ### .OB-format macros
37         ###
38
39         .macro ld_ob r, v
40         .data
41 1:      .dword  \v
42         .previous
43         ldc1    \r, 1b
44         .endm
45
46         .macro ck_ob r, v
47         .data
48 1:      .dword  \v
49         .previous
50         dmfc1   $20, \r
51         ld      $21, 1b
52         bne     $20, $21, _fail
53          nop
54         .endm
55
56         .macro ld_acc_ob h, m, l
57         ld_ob   $f20, \m
58         ld_ob   $f21, \l
59         wacl.ob $f20, $f21
60         ld_ob   $f20, \h
61         wach.ob $f20
62         .endm
63
64         .macro ck_acc_ob h, m, l
65         rach.ob $f20
66         ck_ob   $f20, \h
67         racm.ob $f20
68         ck_ob   $f20, \m
69         racl.ob $f20
70         ck_ob   $f20, \l
71         .endm