4ccac53e9f
X64EmitterTest: Check bytes instead of disassembly in JMP test
...
Check bytes directly to avoid ambiguity in the disassembly between short
and near jumps, which could hypothetically cause the test to pass when
it shouldn't.
2023-08-05 13:51:42 -07:00
dcd5ba6587
x64EmitterTest: add J/J_CC/CALL unit tests
2023-08-05 13:51:42 -07:00
04fcf68176
xEmitter: Convert PrefetchLevel to enum class
2023-06-17 16:41:32 -07:00
4c2759f541
XEmitter: Add enum class Jump
...
Replace the bool parameter force5bytes in J, JMP, and J_CC with an enum
class Jump::Short/Near. Many callers set that parameter to the literal
'true', which was unclear if you didn't already know what it did.
2023-06-12 13:04:18 -07:00
76b4318b88
CPUDetect: improve win/arm64 support
...
read brand_string on macos/arm64
remove unused flags
report family/model info instead of vendor name
2022-07-25 21:21:11 -07:00
cad1f2735c
msvc: disable optimizations for x64EmitterTest.cpp
...
40s -> 5s speedup
2022-04-27 15:06:04 -07:00
6e5f4125e3
Use Common::ToLower and Common::ToUpper
2022-01-16 17:00:12 -08:00
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
afb9398059
x64Emitter: remove unused x87 instructions
2021-06-28 02:56:37 +01:00
5b52b3e9cb
x64Emitter: Check end of allocated space when emitting code.
2020-08-24 19:31:32 +02:00
d5cb858165
x64Emitter: Unit test memory addressing modes
...
Test the behavior of OpArg::WriteRest by using MOV with the various
addressing modes (MatR, MRegSum, etc.) in the source operand.
Both the instruction and the instruction length are validated.
2020-01-13 08:43:30 +01:00
9fe3150358
x64EmitterTest: Test 64-bit MOV with 32-bit immediate
2019-05-29 01:04:16 +02:00
b7b552f20a
x64EmitterTest: Add some missing tests
2018-12-26 15:22:45 +00:00
8a93dd0105
x64EmitterTest: Fix linting issues
2018-09-16 19:52:12 +02:00
58a0d0f117
x64EmitterTest: test MOV with 64-bit immediates
2018-09-16 19:52:12 +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
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
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
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
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