Lioncash
e042c63de6
common/bit_util: Make a few functions as constexpr
...
These four functions can be made constexpr with no issue.
2019-03-04 09:21:29 -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
MerryMage
cf2e1aed96
fp: Change FPUnpacked to a normalized representation
...
Having a known position for the highest set bit makes writing algorithms easier
2018-07-25 17:42:36 +01:00
MerryMage
faa3ea2f2a
bit_util: Implement ClearBits and ModifyBits
2018-07-20 11:39:30 +01:00
MerryMage
a3a8efb018
bit_util: Implement MostSignificantBit
2018-07-15 14:32:06 +01:00
MerryMage
3f2194dcba
bit_util: Use Ones to implement Bits
2018-07-15 14:32:06 +01:00
MerryMage
c319c4a193
bit_util: Add ClearBit and ModifyBit
2018-07-15 14:32:06 +01:00
Lioncash
aa92e33194
bit_util: Do nothing in RotateRight if the rotation amount is zero
...
Without this sanitizing it's possible to perform a shift with a shift
amount that's the same size as the type being shifted. This actually
occurs when decoding ORR variants.
We could get fancier here and make this branchless, but we don't
really use RotateRight in any performance intensive areas.
2018-03-21 19:30:02 +00:00
Lioncash
8c013e7928
General: Convert multiple namespace specifiers to nested namespace specifiers where applicable
...
Makes namespacing a little less noisy
2018-01-26 17:06:48 +00:00
MerryMage
ef81c2bcfc
bit_util: bug: Infinite loop in HighestSetBit
2018-01-24 16:18:58 +00:00
MerryMage
1db423b2ad
A64: Implement DUP (general)
2018-01-24 12:01:26 +00:00
MerryMage
e77bc26945
A64: Implement SBFM, BFM, UBFM
2018-01-17 00:15:44 +00:00
MerryMage
305456b407
A64: Implement compare and branch
2018-01-09 18:57:06 +00:00
MerryMage
f3e763a667
A64: Implement logical
2018-01-09 18:57:06 +00:00
MerryMage
3e0e339d98
bit_util: Remove unnecessary include
2017-01-09 22:19:51 +00:00
MerryMage
0d1fa85402
bit_util: Bit<T>(size_t, const T) cannot be constexpr
...
Compound statements are not permitted in constexpr functions in C++14
2016-12-29 10:08:35 +00:00
MerryMage
b23b524b03
bit_util: Add SignExtend implementation with runtime bit_count argument
2016-12-21 19:51:25 +00:00
Mat M
7f9a0c3c38
Remove unnecessary explicit includes ( #16 )
2016-09-03 21:48:03 +01:00
MerryMage
cc3e7e71aa
bit_util: std::bitset-based BitCount implementation
...
Suggestion by @lioncash.
2016-09-02 22:00:48 +01:00
MerryMage
e8764c129f
bit_util: Implement BitCount portably
2016-09-02 19:05:49 +01:00
MerryMage
f7e3d7b8d2
Implement Thumb PUSH instruction
2016-07-18 15:11:16 +01:00
MerryMage
c18a3eeab4
Better MSVC support
...
* Avoiding use of templated variables.
* Now compling on MSVC with /WX (warnings as errors).
* Fixed all MSVC warnings.
* Fixed MSVC source_groups.
2016-07-18 10:38:22 +01:00
MerryMage
d743adf518
Reorganisation, Import Skyeye, This is a mess
2016-07-04 17:22:11 +08:00
MerryMage
65df15633d
First Commit
2016-07-01 21:01:06 +08:00