blob: 62634ef6bb5b2981e130a3494ecac55531e6c495 [file] [log] [blame]
# MIPS simulator testsuite MDMX utility functions.
# Copyright (C) 2004-2021 Free Software Foundation, Inc.
# Contributed by Chris Demetriou of Broadcom Corporation.
#
# This file is part of the GNU simulators.
#
# 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 <http://www.gnu.org/licenses/>. */
.include "utils-fpu.inc"
###
### Shared macros
###
# Enable MDMX: enable the FPU w/ FR=1, then set Status.MX
.macro enable_mdmx
enable_fpu 1
mfc0 $20, $12
or $20, $20, (1 << 24)
mtc0 $20, $12
.endm
###
### .OB-format macros
###
.macro ld_ob r, v
.data
1: .dword \v
.previous
ldc1 \r, 1b
.endm
.macro ck_ob r, v
.data
1: .dword \v
.previous
dmfc1 $20, \r
ld $21, 1b
bne $20, $21, _fail
nop
.endm
.macro ld_acc_ob h, m, l
ld_ob $f20, \m
ld_ob $f21, \l
wacl.ob $f20, $f21
ld_ob $f20, \h
wach.ob $f20
.endm
.macro ck_acc_ob h, m, l
rach.ob $f20
ck_ob $f20, \h
racm.ob $f20
ck_ob $f20, \m
racl.ob $f20
ck_ob $f20, \l
.endm