Lioncash
78742a6aea
common/fp/op: Add operations for floating-point reciprocal exponents
2019-03-02 23:31:26 -05:00
Merry
555ae3e809
Merge pull request #430 from lioncash/unused
...
block_of_code: Replace cast with [[maybe_unused]] in DoesCpuSupport()
2019-02-23 11:37:35 +00:00
Lioncash
0be97f3ecc
block_of_code: Replace cast with [[maybe_unused]] in DoesCpuSupport()
2019-02-22 22:46:06 -05:00
Merry
767665bcef
Merge pull request #428 from lioncash/unused
...
common: Remove address_range.h
2019-02-08 21:55:22 +00:00
Lioncash
ab4b82167f
externals/xbyak: Update xbyak to 5.76
...
Keeps the external library up to date.
2019-02-08 12:58:59 -05:00
Lioncash
cc67312fed
Squashed 'externals/xbyak/' changes from 42462ef9..f72646a7
...
f72646a7 update version
4612528f format change
4b95e862 Merge branch 'shelleygoel-master'
4c262fa6 add functionality to get num of cores using x2APIC ID
bc70e7e1 recover Xbyak::CastTo
d09a230f unlink Label when LabelManager is destroyed
973e8597 update version
afdb9fe9 Xbyak::CastTo is removed
b011aca4 add RegRip +/- int
acae93cd increase max temp regs for StackFrame
ea4e3562 util::StackFrame uses push/pop instead of mov
git-subtree-dir: externals/xbyak
git-subtree-split: f72646a7c817885d7fd29abe6f1f5b50dd621ef6
2019-02-08 12:58:53 -05:00
Lioncash
18f5916e4d
common: Remove address_range.h
...
The AddressRange structure isn't used anywhere within the codebase, so
this can be removed. Particularly because there's no real appeal/heavy
potential use of it in the future that isn't trivial to add back if
needed.
2019-02-08 09:41:37 -05:00
Merry
5c57df39ad
Merge pull request #426 from lioncash/const
...
frontend/{A32, A64}/ir_emitter: Mark PC() and AlignPC() as const-qualified member functions
2019-02-07 20:03:30 +00:00
Merry
f624867d5a
Merge pull request #427 from lioncash/include
...
tests/A32/fuzz_arm: Remove unused Unix-specific include
2019-02-07 20:03:17 +00:00
Lioncash
7593eadc2e
tests/A32/fuzz_arm: Remove unused Unix-specific include
...
This was introduced within 6f6f60c61b2137780102c75841441f760d3cc3fc,
however, the relevant code that it was used with has since been removed,
making the include unnecessary.
2019-02-05 20:59:24 -05:00
Lioncash
67c39ec79b
frontend/A32/ir_emitter: Mark PC() and AlignPC() as const-qualified member functions
...
These don't modify instance state, so they can be const-qualified member
functions.
2019-02-05 20:21:48 -05:00
Lioncash
539fda5350
frontend/A64/ir_emitter: Mark PC() and AlignPC() as const qualified member functions
...
These don't actually alter any instance state.
2019-02-05 20:21:44 -05:00
Annomatg
735e6c58be
Reduce Inst::NumArgs calls / opcodes: Prefer std::vector to std::map ( #425 )
...
* Don't call Inst::NumArgs in a loop conditional
* opcodes: Prefer a simple std::vector instead of a std::map
2019-02-03 20:21:14 +00:00
Merry
7957066968
Merge pull request #423 from lioncash/catch
...
externals: Update catch to v2.5.0
2019-02-02 22:59:54 +00:00
Merry
58bc4bcd3c
Merge pull request #422 from lioncash/truncate
...
a32_unicorn: Silence a truncation warning within UnmappedMemoryHook()
2019-02-02 22:59:41 +00:00
Merry
dced81eec0
Merge pull request #421 from lioncash/comma
...
tests/.../vfp_helper: Amend use of the comma operator
2019-02-02 22:59:27 +00:00
Mat M
6cdb4e3d8c
Merge pull request #424 from meme/readme
...
Correct README (`jit` to `cpu`)
2019-02-01 00:31:35 -05:00
meme
23eeb5ebae
Correct README (jit
to cpu
)
2019-01-31 12:53:00 -05:00
Lioncash
69eec29993
externals: Update catch to v2.5.0
...
Keeps the unit testing library up to date.
2019-01-28 08:51:03 -05:00
Lioncash
6e54c8f8c8
tests/.../vfp_helper: Amend use of the comma operator
...
Makes the lines of code slightly nicer to read
2019-01-22 19:06:11 -05:00
Lioncash
91e82bb615
a32_unicorn: Silence a truncation warning within UnmappedMemoryHook()
...
MemoryRead8() takes a u32, but we were passing the result of a
u32 + size_t operation, which is 64-bit on 64-bit platforms. This
results in a truncation warning
2019-01-22 19:05:42 -05:00
Merry
6598d2147e
Merge pull request #419 from lioncash/fold-op
...
constant_propagation_pass: Fold byte reversal opcodes where applicable
2018-11-25 09:50:56 +00:00
Lioncash
70a392af9e
constant_propagation_pass: Fold byte reversal opcodes where applicable
...
These are reasonably trivial to fold away when applicable. We just
perform the swap and replace the instruction with the constant value.
2018-11-24 18:11:08 -05:00
Merry
79d51f8d4a
Merge pull request #418 from lioncash/fold-op
...
constant_propagation_pass: Handle folding for Least/MostSignificant{Bit, Byte, Half, Word} opcodes
2018-11-24 12:45:26 +00:00
Merry
607b2f98ee
Merge pull request #417 from lioncash/swap
...
common: Move byte swapping functions to bit_utils.h
2018-11-24 12:44:41 +00:00
Merry
230dcdab4b
Merge pull request #416 from lioncash/space
...
dynarmic_tests: Remove inconsistent spacing
2018-11-24 12:44:19 +00:00
Merry
bd8c467132
Merge pull request #415 from lioncash/alloc
...
a64_emit_x64: Convert std::vector instances in GenFastmemFallbacks() to std::array
2018-11-24 12:44:08 +00:00
Merry
6eeec2f9d0
Merge pull request #414 from lioncash/retval
...
fuzz_util: Simplify result return in InstructionGenerator's Generate() function
2018-11-24 12:43:40 +00:00
Lioncash
043cace402
constant_propagation_pass: Handle folding for Least/MostSignificant{Bit, Byte, Half, Word} opcodes
...
These are quite trivial to fold.
2018-11-23 23:11:00 -05:00
Lioncash
75b8308cef
common: Move byte swapping functions to bit_utils.h
...
These are quite general functions, so they can just be moved into common
instead of recreating a namespace here.
2018-11-23 22:50:41 -05:00
Lioncash
4e4e1d315c
dynarmic_tests: Remove inconsistent spacing
...
Makes the changed code more consistent with the surrounding code.
2018-11-23 21:49:57 -05:00
Lioncash
54aac80504
a64_emit_x64: Make constness of loop elements explicit within GenFastmemFallbacks()
2018-11-23 20:12:55 -05:00
Lioncash
4763bb706e
a64_emit_x64: Convert std::vector instances in GenFastmemFallbacks() to std::array
...
Given these are quite small, we can avoid the need to heap allocate
here.
2018-11-23 20:11:12 -05:00
Lioncash
d7af990350
fuzz_util: Simplify result return in InstructionGenerator's Generate() function
...
This can just be a simple direct return without a separated declaration
and assignment.
2018-11-23 19:55:32 -05:00
MerryMage
b781237151
emit_x64_vector_floating_point: AVX && DN implementation of EmitFPVectorMulX
2018-11-18 10:03:13 +00:00
MerryMage
e9acec2091
A64: Implement FMULX (by element), single and double precision variants
2018-11-17 21:51:39 +00:00
MerryMage
ea0c1919bb
A64: Implement FMULX, vector single-precision and double-precision variant
2018-11-17 21:32:12 +00:00
MerryMage
333d3b734d
IR: Implement FPVectorMulX
2018-11-17 21:31:22 +00:00
Michał Janiszewski
af96812b47
Provide justification for always-true condition ( #412 )
2018-11-02 19:36:30 +00:00
Michał Janiszewski
4295f727cd
Enable ninja and ccache on travis ( #413 )
...
* Use ninja, the fast build system
Make is known to be rather slow, but it's possible to generate other
build system files with CMake, so use a faster one.
* Use ccache on Travis
* Dummy commit to test ccache
2018-11-01 12:33:45 +00:00
Merry
a5f35d45f0
Merge pull request #411 from janisozaur/include-guards
...
Add missing include guards
2018-11-01 12:33:09 +00:00
Michał Janiszewski
a695635efd
Add missing include guards
2018-10-31 22:54:17 +01:00
Merry
52e646408f
Merge pull request #409 from VPeruS/switch-optional
...
Switch boost::optional to std::optional
2018-10-24 18:49:49 +01:00
V.Kalyuzhny
05a2dbfce0
Switch boost::optional to std::optional
2018-10-24 15:02:39 +00:00
Merry
409ff8d78e
Merge pull request #410 from lioncash/catch
...
externals: Update catch to v2.4.1
2018-10-24 07:32:38 +01:00
Lioncash
1c0bed959d
externals: Update catch to v2.4.1
...
Keeps the unit testing library up to date.
2018-10-23 18:10:58 -04:00
Merry
d0bcca81a8
Merge pull request #408 from lioncash/shift
...
constant_propagation_pass: Add 64-bit variants of shifts to the pass
2018-10-12 20:22:29 +01:00
Lioncash
2c8c83c2f1
constant_propagation_pass: Add 64-bit variants of shifts to the pass
...
These optimizations can also apply to the 64-bit variants of the shift
opcodes; we just need to check if the instruction has an associated
pseudo-op before performing the 32-bit variant's specifics.
While we're at it, we can also relocate the code to its own function
like the rest of the cases to keep organization consistent.
2018-10-12 14:50:21 -04:00
Merry
fc051d2c5c
Merge pull request #407 from lioncash/div
...
constant_propagation_pass: Fold division operations where applicable
2018-10-11 15:50:47 +01:00
Lioncash
b55b7a5c7f
constant_propagation_pass: Fold division operations where applicable
...
We can fold division operations if:
1. The divisor is zero, then we can replace the result with zero (as this is how
ARM platforms expect it).
2. Both values are known, in which case we can just do the operation and
store the result
3. The divisor is 1, in which case just return the other operand.
2018-10-09 16:03:47 -04:00