Commit graph

144 commits

Author SHA1 Message Date
Tyler Stachecki
6f15585802 Cleanup Windows os/ code. 2014-08-02 23:44:13 -04:00
Tyler Stachecki
c28f74ba98 Fix up warnings, clean up initialization code. 2014-07-31 12:07:12 -04:00
Tyler Stachecki
50b1f40003 Fix bug in Windows's os_poll_events.
Thanks to krom for reminding me about this.
2014-07-29 01:19:55 -04:00
Tyler Stachecki
974757c5b9 Fix Windows inline assembly functions. 2014-07-28 22:09:02 -07:00
Tyler Stachecki
d1348c0000 Remove unused headers from Windows code. 2014-07-29 00:31:21 -04:00
Tyler Stachecki
ddb4626080 Change the FPU calling convention. 2014-07-29 00:13:39 -04:00
Tyler Stachecki
4502cc9435 Fix Windows FPU assembly stubs. 2014-07-28 20:35:11 -07:00
Tyler Stachecki
97ff3bbd6e Start unbreaking the Windows build. 2014-07-28 17:31:02 -04:00
Tyler Stachecki
c4a121c139 Trim out some unused instructions. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
98e98094d4 Switch over CVT.
x87 to SSE transition complete.
2014-07-27 23:40:08 -04:00
Tyler Stachecki
d2f70fd2c8 Switch over ROUND, TRUNC, CEIL, and FLOOR. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
d5fea665c9 Stop using "Yz" as an input constraint.
clang doesn't seem to like it...
2014-07-27 23:40:08 -04:00
Tyler Stachecki
1c873c680d Fix last commit's bugs (reported by krom's checker). 2014-07-27 23:40:08 -04:00
Tyler Stachecki
e66c2e2e37 Simplify the floating point compare logic.
Also, finish converting things to SSE/SSE2.
2014-07-27 23:40:08 -04:00
Tyler Stachecki
e87b2f7f57 Switch over a handful of CMP. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
79c05ac6b0 Switch over SQRT. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
8bd52f1e11 Switch over NEG, fix the double mask constant. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
9f520f9029 Switch over ABS, apply const where possible. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
45617d9c36 Start the switch from x87 to SSE. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
e7417bee66 Add get/set native FPU state functions. 2014-07-27 23:40:08 -04:00
Tyler Stachecki
850c278cd9 os/unix: Stop using pthreads improperly. 2014-07-27 09:08:54 -04:00
Tyler Stachecki
349bdc1684 Merge krom's FPU comparison instructions.
Implements: C.F.D, C.F.S, C.NGE.D, C.NGE.S, C.NGL.D, C.NGL.S
C.NGLE.D, C.NGLE.S, C.NGT.D, C.NGT.S, C.OLE.C.OLE.S, C.OLE.S,
C.OLT.D, C.OLT.S, C.SEQ.D, C.SEQ.S, C.SF.`C.SF.S, C.SF.S,
C.UEQ.D, C.UEQ.S, C.ULE.D, C.ULE.S, C.ULT.D, C.ULT.S, C.UN.D
C.UN.S.
2014-07-17 20:03:28 -04:00
Tyler Stachecki
4b69669998 Add support for C.lt.fmt.
Conflicts:
	vr4300/cp1.h
2014-07-13 13:16:31 -04:00
Tyler Stachecki
d5e621b563 Add required GNU inline assembly constraints. 2014-07-13 13:01:47 -04:00
Tyler Stachecki
2bfd3870e8 Implement another conditional FPU operation. 2014-07-13 13:01:40 -04:00
Tyler Stachecki
24c17acb62 Implement a FPU conditional operation.
Conflicts:
	vr4300/cp1.c
	vr4300/cp1.h
2014-07-13 13:01:19 -04:00
Tyler Stachecki
4dc4c24c1a Fix fpu_sub_64 on Unix builds. 2014-07-13 11:20:24 -04:00
Tyler Stachecki
c652f8359a Merge krom's FPU instructions.
Implements: ABS.D, ABS.S, CEIL.L.D, CEIL.L.S, CEIL.W.D
CEIL.W.S, FLOOR.L.D, FLOOR.L.S, FLOOR.W.D, FLOOR.W.S, NEG.D
NEG.S, ROUND.L.D, ROUND.L.S, ROUND.W.D, ROUND.W.S, SQRT.D
SQRT.S, TRUNC.L.D, and TRUNC.L.S!
2014-07-08 00:00:25 -04:00
Tyler Stachecki
423d8d9b9c Wave 2 of CP1 housekeeping. 2014-07-05 14:28:43 -04:00
Tyler Stachecki
72481d5df4 Wave 1 of CP1 housekeeping. 2014-07-05 13:43:24 -04:00
Tyler J. Stachecki
96f219fb1a Unwanted reciprocals are bad. 2014-07-05 12:58:02 -04:00
Tyler J. Stachecki
665d7468f9 Add more FPU support for MSVC/x86_64. 2014-07-05 12:12:07 -04:00
Tyler J. Stachecki
6b0215a082 Start adding FPU support for MSVC/x86_64. 2014-07-05 11:35:06 -04:00
Tyler Stachecki
05db88349e Improve build environment.
* Add compiler version string macro.
  * Add REQUIRED tags to CMake packages.

Signed-off-by: Tyler Stachecki <tstache1@binghamton.edu>
2014-06-24 21:18:36 -04:00
Tyler Stachecki
3749f22139 Cleanup clang build warnings. 2014-06-24 20:09:54 -04:00
Tyler Stachecki
7ed27cefe6 os/unix: Set default to windowed-mode. 2014-05-23 09:05:40 -04:00
Tyler Stachecki
07a3a079f6 Cleanup the OS interface somewhat. 2014-05-22 17:42:28 -04:00
Tyler Stachecki
2c51f781d4 os/unix: Use consistent comment style. 2014-05-19 22:46:13 -04:00
Tyler Stachecki
93438cbdd4 os/windows: Handle window close and resize events. 2014-05-19 22:43:51 -04:00
Tyler Stachecki
f1b32654bc os/unix: Handle X11 window close and resize events. 2014-05-19 21:06:27 -04:00
Tyler Stachecki
4ec3ca0f24 os/windows: Fix comment in header. 2014-05-18 15:48:44 -04:00
Tyler Stachecki
46c65991d8 os/windows; Pass argc and argv to cen64_main. 2014-05-18 15:43:20 -04:00
Tyler Stachecki
48b9585778 os/windows; Add various fixes. 2014-05-18 14:32:05 -04:00
Tyler Stachecki
9b0a04fcf7 Commit initial OS interface. 2014-05-18 14:13:27 -04:00