Lioncash
552c0d8404
Common: Move byte swapping utilities into their own header
...
This moves all the byte swapping utilities into a header named Swap.h.
A dedicated header is much more preferable here due to the size of the
code itself. In general usage throughout the codebase, CommonFuncs.h was
generally only included for these functions anyway. These being in their
own header avoids dumping the lesser used utilities into scope. As well
as providing a localized area for more utilities related to byte
swapping in the future (should they be needed). This also makes it nicer
to identify which files depend on the byte swapping utilities in
particular.
Since this is a completely new header, moving the code uncovered a few
indirect includes, as well as making some other inclusions unnecessary.
2017-03-03 17:18:18 -05:00
Lioncash
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
BhaaL
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
Sepalani
a6114bad34
Import/Export signature files as CSV
2016-12-18 00:27:10 +00:00
JosJuice
0c6fd47460
Add unit test for StringUtil's newly added JoinStrings
2016-11-27 22:11:14 +01:00
JosJuice
841e5893f4
IOS HLE: Add unit test for path/filename escaping
2016-11-27 22:11:05 +01:00
degasus
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
Pierre Bourdon
a910a4309f
x64EmitterTest: fill cpu_info with 0x01 instead of 0xFF to make gcc happier
2016-06-27 01:55:42 +02:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Lioncash
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
Lioncash
8ce04f9a65
General: Replace GC_ALIGN macros with alignas
...
Standard supported alignment -> out with compiler-specific.
2015-09-06 12:53:51 -04:00
Lioncash
3f1b488a12
CommonFuncs: Replace ArraySize define with constexpr equivalent
2015-09-03 23:47:14 -04:00
Lioncash
caec42135d
MathUtil: Remove IsNAN and IsINF
...
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04:00
Tillmann Karras
439fb26b9b
x64Emitter: add MOVSLDUP/MOVSHDUP
2015-08-06 10:39:43 +02:00
Matthew Parlane
f32cede086
Revert "x64: build a Position-Independent Executable (PIE)"
2015-06-14 16:06:26 +12:00
flacs
d3e47dfcf5
Merge pull request #2496 from Tilka/fma4
...
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
Tillmann Karras
d4538c762f
MemoryUtil: get executable pages near static data
...
and clean up a bit.
2015-06-03 21:44:31 +02:00
Tillmann Karras
8db6588bb9
XEmitter: add FMA4 instructions
2015-06-02 19:19:52 +02:00
degasus
9c730b0a1f
Unittests: Add BlockingLoopTest
2015-05-30 13:40:36 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Fiora
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
Tillmann Karras
c2c31086ae
XEmitter: restructure WriteVEXOp wrappers
2015-05-17 18:44:56 +02:00
yerejm
e4e1fe5a9c
Reset faked CPU extension support at test end to ensure test isolation.
2015-05-17 11:48:05 +10:00
Tillmann Karras
9793fed742
XEmitter: add PUNPCKLQDQ
2015-03-18 12:09:06 +01:00
Tillmann Karras
b0bde31ac0
Fix include order of files outside of Source/Core
2015-03-01 14:54:22 +01:00
Tillmann Karras
eb13aa43fe
XEmitter: overload MOVBE()
2015-01-18 12:59:33 +01:00
Tillmann Karras
1efa9b8b72
x64Emitter: add MOVLPS/MOVHPS
2015-01-07 11:23:52 +01:00
Tillmann Karras
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
Tillmann Karras
791d5458e5
UnitTests: add tests for bitwise AVX instructions
2014-12-06 22:28:03 +01:00
Tillmann Karras
ddebdb61c4
UnitTests: fix register symbol name in AVX tests
2014-12-06 22:28:03 +01:00
comex
c81e3da22f
Add unit test.
2014-10-25 16:57:25 -04:00
Fiora
4289221584
X64Emitter: add unit test for FMA
2014-10-07 18:21:07 -07:00
Ryan Houdek
4e16abd742
Merge pull request #1083 from FioraAeterna/lzcnt
...
Add LZCNT support, use in cntlzw
2014-09-14 09:18:10 -05:00
Fiora
997c5c2d0e
x64Emitter: add LZCNT/TZCNT support and detection
...
Also add a unit test.
2014-09-14 05:31:22 -07:00
Lioncash
068799ff73
UnitTests: Fix misplaced braces in the x64Emitter tests
2014-09-13 20:45:17 -04:00
Fiora
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
Fiora
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
Fiora
07e0c917c6
Revert "JIT64: optimize CA calculations"
2014-09-05 10:26:30 -07:00
comex
97420c6ec6
Merge pull request #852 from FioraAeterna/optimizeca
...
JIT64: optimize CA calculations
2014-09-05 11:52:02 -04:00
Fiora
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
Pierre Bourdon
cee71afce5
x64EmitterTest: Fake support for all CPU extensions
2014-09-03 02:26:11 +02:00
Pierre Bourdon
5b4f1fe92c
UnitTests: Add tests for the x64Emitter
2014-09-02 10:17:32 +02:00
Shawn Hoffman
839cace5ff
msvc: get UnitTests compiling
...
Choose it from VS or pass /p:RunUnitTests=true to msbuild
2014-09-01 21:27:45 -07:00
Fiora
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
Shawn Hoffman
647dc998e4
unittests: correct some integers which should have been floating point types
2014-09-01 05:57:03 -07:00
Tillmann Karras
f927af20f2
Fix more warnings from #579
2014-08-07 03:24:42 +02:00
Pierre Bourdon
8b26d7bf1e
UnitTests: make it possible to build tests for code that has global dependencies
2014-08-02 09:34:39 -07:00
Scott Mansell
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
Lioncash
49b0eef393
Remove the min/max functions in CommonFuncs.
...
The algorithm header has the same functions.
2014-05-29 21:44:41 -04:00
Tillmann Karras
c9405b2030
BitFieldTest: fix warnings
2014-04-19 18:31:35 +02:00
Pierre Bourdon
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
Pierre Bourdon
e24cad0780
Common::Flag: Add support for TestAndSet + test by implementing basic spinlocks.
2014-04-14 23:13:15 +02:00
Tony Wasserka
774a394808
UnitTests: Add a test for BitField behavior on odd structure alignment.
2014-04-14 20:13:23 +02:00
Pierre Bourdon
6bdcbad3e4
Common: Move the Event class to a separate file, and add tests for it. Fix includes everywhere to match this.
2014-04-14 10:54:07 +02:00
Pierre Bourdon
f9fb39d383
Common: Add a 'Flag' class that is used to encapsulate a boolean flag manipulated from several threads
2014-04-14 10:54:07 +02:00
Tony Wasserka
948c0a54f1
UnitTests: Add tests for BitField.
2014-03-25 23:57:54 +01:00
Tillmann Karras
e0baed850f
MathUtilTest: add test for FlushToZero
2014-03-24 16:14:22 +01:00
Tillmann Karras
46becfc06b
Tests: fix signed/unsigned comparison warning
2014-03-17 02:55:58 +01:00
Tillmann Karras
9ef64245fa
MathUtil: fix IsQNAN()
...
The constants were one nibble too short and the lower 51 bits don't
actually have to be zero.
2014-03-09 19:34:58 +01:00
Pierre Bourdon
aabd524142
Add more tests for Common and Core/MMIO
2014-03-09 14:27:04 +01:00