summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/m68k/m68040/fpsp/sto_res.S
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/m68k/m68040/fpsp/sto_res.S')
-rw-r--r--c/src/lib/libcpu/m68k/m68040/fpsp/sto_res.S100
1 files changed, 0 insertions, 100 deletions
diff --git a/c/src/lib/libcpu/m68k/m68040/fpsp/sto_res.S b/c/src/lib/libcpu/m68k/m68040/fpsp/sto_res.S
deleted file mode 100644
index b47cb77da2..0000000000
--- a/c/src/lib/libcpu/m68k/m68040/fpsp/sto_res.S
+++ /dev/null
@@ -1,100 +0,0 @@
-#include "fpsp-namespace.h"
-//
-//
-// sto_res.sa 3.1 12/10/90
-//
-// Takes the result and puts it in where the user expects it.
-// Library functions return result in fp0. If fp0 is not the
-// users destination register then fp0 is moved to the the
-// correct floating-point destination register. fp0 and fp1
-// are then restored to the original contents.
-//
-// Input: result in fp0,fp1
-//
-// d2 & a0 should be kept unmodified
-//
-// Output: moves the result to the true destination reg or mem
-//
-// Modifies: destination floating point register
-//
-
-// Copyright (C) Motorola, Inc. 1990
-// All Rights Reserved
-//
-// THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA
-// The copyright notice above does not evidence any
-// actual or intended publication of such source code.
-
-STO_RES: //idnt 2,1 | Motorola 040 Floating Point Software Package
-
-
- |section 8
-
-#include "fpsp.defs"
-
- .global sto_cos
-sto_cos:
- bfextu CMDREG1B(%a6){#13:#3},%d0 //extract cos destination
- cmpib #3,%d0 //check for fp0/fp1 cases
- bles c_fp0123
- fmovemx %fp1-%fp1,-(%a7)
- moveql #7,%d1
- subl %d0,%d1 //d1 = 7- (dest. reg. no.)
- clrl %d0
- bsetl %d1,%d0 //d0 is dynamic register mask
- fmovemx (%a7)+,%d0
- rts
-c_fp0123:
- cmpib #0,%d0
- beqs c_is_fp0
- cmpib #1,%d0
- beqs c_is_fp1
- cmpib #2,%d0
- beqs c_is_fp2
-c_is_fp3:
- fmovemx %fp1-%fp1,USER_FP3(%a6)
- rts
-c_is_fp2:
- fmovemx %fp1-%fp1,USER_FP2(%a6)
- rts
-c_is_fp1:
- fmovemx %fp1-%fp1,USER_FP1(%a6)
- rts
-c_is_fp0:
- fmovemx %fp1-%fp1,USER_FP0(%a6)
- rts
-
-
- .global sto_res
-sto_res:
- bfextu CMDREG1B(%a6){#6:#3},%d0 //extract destination register
- cmpib #3,%d0 //check for fp0/fp1 cases
- bles fp0123
- fmovemx %fp0-%fp0,-(%a7)
- moveql #7,%d1
- subl %d0,%d1 //d1 = 7- (dest. reg. no.)
- clrl %d0
- bsetl %d1,%d0 //d0 is dynamic register mask
- fmovemx (%a7)+,%d0
- rts
-fp0123:
- cmpib #0,%d0
- beqs is_fp0
- cmpib #1,%d0
- beqs is_fp1
- cmpib #2,%d0
- beqs is_fp2
-is_fp3:
- fmovemx %fp0-%fp0,USER_FP3(%a6)
- rts
-is_fp2:
- fmovemx %fp0-%fp0,USER_FP2(%a6)
- rts
-is_fp1:
- fmovemx %fp0-%fp0,USER_FP1(%a6)
- rts
-is_fp0:
- fmovemx %fp0-%fp0,USER_FP0(%a6)
- rts
-
- |end