Commit graph

140 commits

Author SHA1 Message Date
Tyler Stachecki
b4b95d1f21 Fix SS2 RSP vector loads/stores implementation. 2014-11-10 18:32:12 -05:00
Tyler Stachecki
316214d82d (Finally) permit SSE2-only builds.
Add SSE2 codepaths where necessary (even if not complete), while
still allowing the project to be compiled with SSSE3+ intrinsics.
2014-11-10 14:29:13 -05:00
Tyler Stachecki
f66894935b Mark more initialization functions as cold. 2014-11-09 19:11:09 -05:00
Tyler Stachecki
a0f1eb5d7c Move intrinsics to a common location. 2014-11-09 18:51:54 -05:00
Tyler Stachecki
1513f3cac2 arch/x86_64: Prefer _mm_set_s* over _mm_load_s*. 2014-11-09 18:27:14 -05:00
Tyler Stachecki
4cfb7275a9 Fix and optimize rsp_uclamp_acc (once again). 2014-11-08 19:07:08 -05:00
Tyler Stachecki
9f8a9f9d62 Add implementations of VMADH and VMUDH. 2014-11-08 14:01:41 -05:00
Tyler Stachecki
007d72eda1 Add implementations of VMADL and VMADM. 2014-11-08 12:21:06 -05:00
Tyler Stachecki
16a7c434da Fix/optimize the RSP accumulator clamp LO algorithm. 2014-11-05 16:58:59 -05:00
Tyler Stachecki
6a0604eaca Fix the RSP accumulator clamping algorithm. 2014-11-05 15:09:16 -05:00
Tyler Stachecki
b668296589 Add implementations of VADD and VSUB. 2014-11-03 18:06:32 -05:00
Tyler Stachecki
083ad75286 arch/x86_64: Cache RSP accumulator regs in host CPU. 2014-11-03 16:48:38 -05:00
Tyler Stachecki
da0436cbe1 Fix SSE preprocessor macro mistake. 2014-11-02 22:50:06 -05:00
Tyler Stachecki
716410d7b0 Remove an extra newline. 2014-11-02 22:48:31 -05:00
Tyler Stachecki
b5ff809881 Add an implementation of VMADN. 2014-11-02 22:31:58 -05:00
Tyler Stachecki
bf197cf3bd Implement VMUDL, VMUDM, VMUDN. 2014-11-02 12:44:19 -05:00
Tyler Stachecki
6a6f4174ca Fix edge cases for some LWC2 operations. 2014-10-25 16:46:18 -04:00
Tyler Stachecki
b9b989131f More peephole optimizations. 2014-10-25 13:25:07 -04:00
Tyler Stachecki
e698bfe1d1 Improving accuracy of RSP LWC2/SWC2 operations. 2014-10-25 02:06:30 -04:00
Tyler Stachecki
c027d75198 Fix a typo leading to an unnecessarily large array. 2014-10-24 23:44:36 -04:00
Tyler Stachecki
ba2ca6f427 Fix more byte-ordering issues. This was hard. 2014-10-24 23:43:24 -04:00
Tyler Stachecki
1292220694 Fix a byte-ordering issue in the x86_64 RSP backend. 2014-10-24 21:27:18 -04:00
Tyler Stachecki
e63b13605e Various LWC2/SWC2 fixes, add VSAR. 2014-10-24 21:07:25 -04:00
Tyler Stachecki
97587e3811 Add guards around SSSE3 version of rsp_vstore_dmem. 2014-10-24 18:34:36 -04:00
Tyler Stachecki
f395be631e Start adding in support for LWC2/SWC2 ops: LQV/SQV. 2014-10-24 18:31:13 -04:00
Tyler Stachecki
e9e82b9b22 Fix a compilation error in the last commit. 2014-10-22 18:17:30 -04:00
Tyler Stachecki
519f59f429 Start implementing some vector operators. 2014-10-22 18:15:44 -04:00
Tyler Stachecki
620c1cbec5 Add SSE2 support to arch/x86_64/rsp. 2014-10-21 18:39:26 -04:00
Tyler Stachecki
6c4d9569d3 arch/x86_64: Fix a precedence issue in tlb_read. 2014-09-04 13:30:42 -04:00
Tyler Stachecki
d72a7d38ef Last batch of TLB translation fixes. 2014-08-23 23:52:52 -04:00
Tyler Stachecki
404bbb9253 Use the correct page mask value. 2014-08-23 22:36:46 -04:00
Tyler Stachecki
6ef9115668 Fix a bunch of TLB translation bugs. 2014-08-23 22:10:46 -04:00
Tyler Stachecki
e6bc8ebe64 Add more TLB support, verify things. 2014-08-23 20:06:45 -04:00
Tyler Stachecki
5f5d4da9a6 Commit preliminary (untested) TLB support. 2014-08-23 14:24:21 -04:00
Tyler Stachecki
38ba3f7893 Fix x86_64 build errors in last commits. 2014-08-21 12:24:08 -04:00
Tyler Stachecki
65d4da87c6 Add SSE2/SSSE3 implementations of RSP bitwise functions. 2014-08-19 16:08:42 +00:00
Tyler Stachecki
1d3e7bac33 Add NEON implementations of RSP bitwise functions. 2014-08-19 15:18:28 +00:00
Tyler Stachecki
0158b65c0c Start implementing NEON backend for RSP. 2014-08-19 11:39:42 +00:00
Tyler Stachecki
ced4183158 More restructuring of arch/ and os/ code. 2014-08-18 16:54:01 +00:00
Tyler Stachecki
3e8ba50851 Add common arch/ folder, move headers out of os/.
Much of the architecture-specific code uses compiler-agnostic
intrinsics. For this reason, split it out into an arch/ folder,
leaving only the compiler and environment-specific code in os/.
2014-08-18 16:08:45 +00:00