0a6f0dfb74
Common: Add bit utility header
...
This attempts to make some bit arithmetic more self-documenting and also
make it easier during review to identify potential off-by-one errors by
making it possible to just specify which bits are being extracted.
Functions both support the case where bits being extracted can vary and
fixed bit extraction. In the case the bits are fixed, compile-time asserts
are present to prevent accidental API usage at compile-time.
e.g. Instead of shifting and masking to get bits 10 to 15,
Common::ExtractBits<10, 15>(value) can just be done instead.
2017-01-14 11:16:02 -05:00
23d99f2f2c
specify custom brace style to fix unions
...
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01:00
a6114bad34
Import/Export signature files as CSV
2016-12-18 00:27:10 +00:00
0c6fd47460
Add unit test for StringUtil's newly added JoinStrings
2016-11-27 22:11:14 +01:00
841e5893f4
IOS HLE: Add unit test for path/filename escaping
2016-11-27 22:11:05 +01:00
3b3cbc4aab
BusyLoopTest: Only run 10 times.
...
Running this test 100 times is not worth to spend 1 second.
2016-06-27 22:06:52 +02:00
a910a4309f
x64EmitterTest: fill cpu_info with 0x01 instead of 0xFF to make gcc happier
2016-06-27 01:55:42 +02:00
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
8d9221a71e
MathUtilTest: Fix tests on MSVC - Document compiler bug
...
MSVC's implementation of numeric_limits currently generates incorrect
signaling NaNs. The resulting values are actually quiet NaNs instead.
This commit is based off of a solution by shuffle2. The only
difference is a template specialization for floats is also added
to cover all bases
2016-04-03 19:16:47 -04:00
8ce04f9a65
General: Replace GC_ALIGN macros with alignas
...
Standard supported alignment -> out with compiler-specific.
2015-09-06 12:53:51 -04:00
3f1b488a12
CommonFuncs: Replace ArraySize define with constexpr equivalent
2015-09-03 23:47:14 -04:00
caec42135d
MathUtil: Remove IsNAN and IsINF
...
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04:00
439fb26b9b
x64Emitter: add MOVSLDUP/MOVSHDUP
2015-08-06 10:39:43 +02:00
f32cede086
Revert "x64: build a Position-Independent Executable (PIE)"
2015-06-14 16:06:26 +12:00
d3e47dfcf5
Merge pull request #2496 from Tilka/fma4
...
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
d4538c762f
MemoryUtil: get executable pages near static data
...
and clean up a bit.
2015-06-03 21:44:31 +02:00
8db6588bb9
XEmitter: add FMA4 instructions
2015-06-02 19:19:52 +02:00
9c730b0a1f
Unittests: Add BlockingLoopTest
2015-05-30 13:40:36 +02:00
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
22317ac74c
Merge pull request #2417 from Tilka/vex
...
XEmitter: VEX-related cleanup
I'm merging this solely because of the FMA3 error message
2015-05-18 16:23:23 -07:00
c2c31086ae
XEmitter: restructure WriteVEXOp wrappers
2015-05-17 18:44:56 +02:00
e4e1fe5a9c
Reset faked CPU extension support at test end to ensure test isolation.
2015-05-17 11:48:05 +10:00
9793fed742
XEmitter: add PUNPCKLQDQ
2015-03-18 12:09:06 +01:00
b0bde31ac0
Fix include order of files outside of Source/Core
2015-03-01 14:54:22 +01:00
eb13aa43fe
XEmitter: overload MOVBE()
2015-01-18 12:59:33 +01:00
1efa9b8b72
x64Emitter: add MOVLPS/MOVHPS
2015-01-07 11:23:52 +01:00
3daa6ab259
x64Emitter: fix MOVLPD/MOVHPD
...
These instructions were using the wrong prefix which turned
MOVLPD(reg, mem) into MOVDDUP(reg, mem) and made the rest of them
invalid.
2015-01-07 11:23:52 +01:00
791d5458e5
UnitTests: add tests for bitwise AVX instructions
2014-12-06 22:28:03 +01:00
ddebdb61c4
UnitTests: fix register symbol name in AVX tests
2014-12-06 22:28:03 +01:00
c81e3da22f
Add unit test.
2014-10-25 16:57:25 -04:00
4289221584
X64Emitter: add unit test for FMA
2014-10-07 18:21:07 -07:00
4e16abd742
Merge pull request #1083 from FioraAeterna/lzcnt
...
Add LZCNT support, use in cntlzw
2014-09-14 09:18:10 -05:00
997c5c2d0e
x64Emitter: add LZCNT/TZCNT support and detection
...
Also add a unit test.
2014-09-14 05:31:22 -07:00
068799ff73
UnitTests: Fix misplaced braces in the x64Emitter tests
2014-09-13 20:45:17 -04:00
1bd8d1ee98
Add immediate tests for WriteNormalOp
...
also fix a bug in Bochs that was preventing adc from passing.
2014-09-13 16:39:34 -07:00
94c20db369
Rename Log2 and add IsPow2 to MathUtils for future use
...
Also remove unused pow2/pow2f functions.
2014-09-08 20:15:45 -07:00
07e0c917c6
Revert "JIT64: optimize CA calculations"
2014-09-05 10:26:30 -07:00
97420c6ec6
Merge pull request #852 from FioraAeterna/optimizeca
...
JIT64: optimize CA calculations
2014-09-05 11:52:02 -04:00
5088a2b4e2
x64Emitter: add BMI1/BMI2 support
...
TZCNT and LZCNT use a completely different encoding scheme, so they should
probably go in a separate patch.
Also add some tests.
2014-09-03 10:04:01 -07:00
cee71afce5
x64EmitterTest: Fake support for all CPU extensions
2014-09-03 02:26:11 +02:00
5b4f1fe92c
UnitTests: Add tests for the x64Emitter
2014-09-02 10:17:32 +02:00
839cace5ff
msvc: get UnitTests compiling
...
Choose it from VS or pass /p:RunUnitTests=true to msbuild
2014-09-01 21:27:45 -07:00
b51aa4fa89
Rename Log2 and add IsPow2 to MathUtils for future use
...
Also remove unused pow2/pow2f functions.
2014-09-01 20:41:07 -07:00
647dc998e4
unittests: correct some integers which should have been floating point types
2014-09-01 05:57:03 -07:00
f927af20f2
Fix more warnings from #579
2014-08-07 03:24:42 +02:00
8b26d7bf1e
UnitTests: make it possible to build tests for code that has global dependencies
2014-08-02 09:34:39 -07:00
b8695a57da
Fix incorrect clamping in SWRenderer.
...
A previous PR changed a whole lot of min/maxes to std::min/std::max
but made a mistake here and used a templated min which cast it's
arguments to unsigned instead of casting return value.
This resulted in glitchy artifacts in bright areas (See issue 7439)
I rewrote the code to use a proper clamping function so it's cleaner
to read.
2014-07-15 21:15:49 +12:00
49b0eef393
Remove the min/max functions in CommonFuncs.
...
The algorithm header has the same functions.
2014-05-29 21:44:41 -04:00
c9405b2030
BitFieldTest: fix warnings
2014-04-19 18:31:35 +02:00
cf315a487f
Merge pull request #271 from delroth/threading-stuff
...
Threading improvements: add Common::Flag and improve Common::Event
2014-04-14 23:23:16 +02:00