Dentomologist
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
Dentomologist
dcd5ba6587
x64EmitterTest: add J/J_CC/CALL unit tests
2023-08-05 13:51:42 -07:00
Dentomologist
04fcf68176
xEmitter: Convert PrefetchLevel to enum class
2023-06-17 16:41:32 -07:00
Dentomologist
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
Shawn Hoffman
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
Shawn Hoffman
cad1f2735c
msvc: disable optimizations for x64EmitterTest.cpp
...
40s -> 5s speedup
2022-04-27 15:06:04 -07:00
Pokechu22
6e5f4125e3
Use Common::ToLower and Common::ToUpper
2022-01-16 17:00:12 -08:00
Pokechu22
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
Pierre Bourdon
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
Tillmann Karras
afb9398059
x64Emitter: remove unused x87 instructions
2021-06-28 02:56:37 +01:00
Admiral H. Curtiss
5b52b3e9cb
x64Emitter: Check end of allocated space when emitting code.
2020-08-24 19:31:32 +02:00
Sintendo
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
Sintendo
9fe3150358
x64EmitterTest: Test 64-bit MOV with 32-bit immediate
2019-05-29 01:04:16 +02:00
MerryMage
b7b552f20a
x64EmitterTest: Add some missing tests
2018-12-26 15:22:45 +00:00
Sintendo
8a93dd0105
x64EmitterTest: Fix linting issues
2018-09-16 19:52:12 +02:00
Sintendo
58a0d0f117
x64EmitterTest: test MOV with 64-bit immediates
2018-09-16 19:52:12 +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
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
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
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
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