Commit Graph

99 Commits

Author SHA1 Message Date
DrChat
aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
Dr. Chat
8d261ca73d x64 JIT: Simplify splats 2017-08-08 00:12:38 -05:00
Dr. Chat
7a3af9b2c4 PPC: Fix vsl[b/h/w] and vsr[b/h/w] with variable shift amounts. 2017-05-15 11:08:09 -05:00
Dr. Chat
6ea6b8b51d x64: Change binary strings to actual binary numbers. 2017-05-14 09:28:58 -05:00
Dr. Chat
d3ed53c43e PPC: Support v[u]pkd3d128 VPACK_NORMSHORT4 2017-05-12 17:55:52 -05:00
Dr. Chat
82efbd7bc5 HIR: Add opcode SET_ROUNDING_MODE (taking FPSCR as an argument) 2017-05-12 14:05:27 -05:00
Dr. Chat
098d23c3d4 JIT - fctidz: Properly saturate 2017-03-06 01:06:32 -06:00
Dr. Chat
31766eaf8d JIT: oops 2017-03-05 18:06:39 -06:00
Dr. Chat
d5e7bc8dca JIT - vctsxs: Properly saturate signed integers 2017-03-05 17:45:17 -06:00
Dr. Chat
ea89a5d179 JIT - fctixx: Properly handle numbers > INT_MAX 2017-03-05 15:04:26 -06:00
Dr. Chat
691c3d1021 EXTRACT_I32: Support constant src1 2016-11-11 16:50:42 -06:00
Dr. Chat
7683069f6c Set context/membase registers to rsi/rdi respectively.
Use offsetof for the backend thunks.
2016-08-26 11:00:42 -05:00
Dr. Chat
5f4416ee2f x64 backend: Save nonvolatile XMM registers on host -> guest transitions
Define the context and membase registers in the x64 emitter.
2016-08-22 14:55:16 -05:00
Dr. Chat
e3fdb08ad7 x64 JIT: Allocate constant data outside of the guest heap. 2016-08-18 18:26:55 -05:00
Dr. Chat
22794902f3 CNTLZ: Invert the result using xor rather than subtraction 2016-08-01 13:25:44 -05:00
Dr. Chat
8427acfada Use vpminud to saturate rather than bitwise ops (shaves 6 instructions per 16 in 32 saturated pack) 2016-07-23 19:19:40 -05:00
Dr. Chat
18ff97e6b6 OPCODE_IS_NAN 2016-07-11 20:44:12 -05:00
Dr. Chat
f2ad6b8cb8 OPCODE_RECIP 2016-06-26 13:03:42 -05:00
gibbed
b5bef8c54d Undoing the previous commit in favor of finding a better solution (xmm1/xmm2 can't safely be used here). 2016-06-19 02:33:52 -05:00
gibbed
d04a6cc983 Added support for when both src1 and src2 are constants in EmitCommutativeBinaryXmmOp and EmitAssociativeBinaryXmmOp. 2016-06-19 02:10:40 -05:00
Ben Vanik
2e826f9321 Supporting constants in Haswell codepaths for mul_add/sub. 2016-01-13 22:29:39 -08:00
Dr. Chat
51dde62f09 x64 backend vector optimizations 2016-01-13 01:43:23 -06:00
Ben Vanik
dfd92757a9 Adding CONTEXT_BARRIER to force the PPC context to synchronize.
This is just an annotation right now, as it's not actually needed.
2015-11-25 14:48:36 -08:00
Dr. Chat
9985187b23 Implement vpkuwum/vpkuhum
Fixed vpkuwus with signed numbers
Implement some constant sources for vec average/unpack
2015-11-06 15:18:48 -06:00
sephiroth99
542f5ba8e5 Move GetTempReg higher in the source file, before its first usage. 2015-09-22 07:39:26 -07:00
Ben Vanik
82a72e1974 Adding MemoryBarrier opcode. 2015-08-30 17:25:02 -07:00
Ben Vanik
8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
gibbed
60b1a67af3 Fixing vpkuhus. 2015-08-16 04:52:19 -05:00
gibbed
6a675659e4 Really fix vupkhsb/vupklsb. 2015-08-16 03:15:37 -05:00
gibbed
f06ddd3869 Maybe fixing vupkhsb/vupklsb. 2015-08-16 02:31:25 -05:00
Ben Vanik
a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik
5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik
eaa1a8ee3a Refactoring SymbolInfo/FunctionInfo/Function into Symbol/Function. 2015-08-05 21:50:02 -07:00
Ben Vanik
a9b89a790b Some more constant support for MUL_SUB. 2015-07-29 21:45:24 -07:00
Ben Vanik
19901c4759 Replacing a use of strings for xbyak labels. 2015-07-29 18:58:45 -07:00
Ben Vanik
ad9472e60b Better sign extend, thanks to @inolen. 2015-07-27 20:25:20 -07:00
gibbed
42ef3f224a Oops. Fixing bad asserts. 2015-07-26 11:12:54 -05:00
gibbed
b713f99e42 Constant support for VECTOR_CONVERT_I2F. 2015-07-26 10:55:41 -05:00
gibbed
20d79911f0 Constant support for Emit16_IN_32. 2015-07-26 10:54:47 -05:00
gibbed
599686f68d Unsigned Emit16_IN_32. 2015-07-26 09:57:52 -05:00
Ben Vanik
91d7acf59e Fixing some particularly bad /W4. 2015-07-18 23:04:21 -07:00
Ben Vanik
f520d3a2a4 Run with latest clang-format. 2015-07-15 22:44:30 -07:00
Ben Vanik
e05cc3ba37 x64_sequences can now be run through clang-format.
Progress on #291.
2015-06-28 15:04:24 -07:00
Ben Vanik
0359184bc0 Simplifying the sequences code to start refactoring.
Progress on #291.
2015-06-28 12:01:47 -07:00
Ben Vanik
0630b524fa Removing unused HIR opcodes.
Progress on #291.
2015-06-28 12:01:46 -07:00
Ben Vanik
5e950cb066 Fixing VS intellisense for xbyak.
Progress on #291.
2015-06-28 12:01:45 -07:00
Ben Vanik
fb1f4906d9 xb format --all (we are now format clean). Buildbot will yell at you. 2015-06-22 22:26:51 -07:00
Ben Vanik
fb591cbadb Disabling use of FMA until I can figure out the rounding issues. 2015-06-20 11:21:32 -07:00
Drew DeVault
a064ba053e Add missing includes for cstring 2015-06-16 23:16:18 -06:00
Ben Vanik
c34db170f5 Adding fallback for pre-MOVBE-supporting processors. 2015-06-16 20:06:50 -07:00