2004-04-11 Chris Demetriou <cgd@broadcom.com>
* utils-fpu.inc (enable_fpu, ckm_fp_cc): New macros. (clrset_fp_cc): Fix mask used for upper 7 condition codes. * utils-mdmx.inc: Include utils-fpu.inc. (enable_mdmx): Use enable_fpu.
This commit is contained in:
parent
cdc89eb2c3
commit
adad0f8a2b
@ -1,3 +1,10 @@
|
||||
2004-04-11 Chris Demetriou <cgd@broadcom.com>
|
||||
|
||||
* utils-fpu.inc (enable_fpu, ckm_fp_cc): New macros.
|
||||
(clrset_fp_cc): Fix mask used for upper 7 condition codes.
|
||||
* utils-mdmx.inc: Include utils-fpu.inc.
|
||||
(enable_mdmx): Use enable_fpu.
|
||||
|
||||
2004-04-10 Chris Demetriou <cgd@broadcom.com>
|
||||
|
||||
* utils-fpu.inc: New file.
|
||||
|
@ -18,6 +18,12 @@
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
.macro enable_fpu fr
|
||||
mfc0 $20, $12
|
||||
or $20, $20, (1 << 29) | (\fr << 26)
|
||||
mtc0 $20, $20
|
||||
.endm
|
||||
|
||||
###
|
||||
### Data movement macros
|
||||
###
|
||||
@ -57,9 +63,9 @@
|
||||
|
||||
.macro clrset_fp_cc clr, set
|
||||
cfc1 $20, $31
|
||||
or $20, $20, (((\clr & 0xf7) << 24) | ((\clr & 0x01) << 23))
|
||||
xor $20, $20, (((\clr & 0xf7) << 24) | ((\clr & 0x01) << 23))
|
||||
or $20, $20, (((\set & 0xf7) << 24) | ((\set & 0x01) << 23))
|
||||
or $20, $20, (((\clr & 0xfe) << 24) | ((\clr & 0x01) << 23))
|
||||
xor $20, $20, (((\clr & 0xfe) << 24) | ((\clr & 0x01) << 23))
|
||||
or $20, $20, (((\set & 0xfe) << 24) | ((\set & 0x01) << 23))
|
||||
ctc1 $20, $31
|
||||
.endm
|
||||
|
||||
@ -89,3 +95,11 @@
|
||||
bnez $20, _fail
|
||||
nop
|
||||
.endm
|
||||
|
||||
.macro ckm_fp_cc v, mask
|
||||
get_fp_cc $20
|
||||
xori $20, $20, \v
|
||||
andi $20, $20, \mask
|
||||
bnez $20, _fail
|
||||
nop
|
||||
.endm
|
||||
|
@ -18,15 +18,18 @@
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
.include "utils-fpu.inc"
|
||||
|
||||
###
|
||||
### Shared macros
|
||||
###
|
||||
|
||||
# Enable MDMX, by setting Status.CU1, .FR, and .MX
|
||||
# Enable MDMX: enable the FPU w/ FR=1, then set Status.MX
|
||||
.macro enable_mdmx
|
||||
mfc0 $20, $12
|
||||
or $20, $20, (1 << 29) | (1 << 26) | (1 << 24)
|
||||
mtc0 $20, $12
|
||||
enable_fpu 1
|
||||
mfc0 $20, $12
|
||||
or $20, $20, (1 << 24)
|
||||
mtc0 $20, $12
|
||||
.endm
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user