MerryMage
|
0575e7421b
|
A64: Implement FMINNM (scalar)
|
2020-04-22 20:46:15 +01:00 |
|
MerryMage
|
1c9804ea07
|
A64: Implement FMAXNM (scalar)
|
2020-04-22 20:46:15 +01:00 |
|
MerryMage
|
e2b9b7c5b0
|
IR: Implement Vector{Less,Greater}{,Equal}{Signed,Unsigned}
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
47c0ad0fc8
|
IR: Implement Vector{Max,Min}{Signed,Unsigned}
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
f4775910f5
|
IR: Implement VectorGreaterSigned
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
8698f057d0
|
A64: Implement STXP, STLXP, LDXP, LDAXP
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
b7a2c1a7df
|
A64: Implement STXRB, STXRH, STXR, STLXRB, STLXRH, STLXR, LDXRB, LDXRH, LDXR, LDAXRB, LDAXRH, LDAXR
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
8756487554
|
A64: Partially implement MRS
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
bfd65bedfe
|
A64: Implement DSB, DMB
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
5edd623b9d
|
Implement DC instructions
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
2cb0a699ba
|
IR: Implement FPMax, FPMin
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
98c8e7d1af
|
IR: Implement FPVectorAdd
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
eae518a338
|
IR: Implement VectorSignExtend
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
b9cd345ddc
|
IR: Implement FPVectorSub
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
f378d2ef1b
|
Forward declare IR::Opcode and IR::Type where possible
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
303088a51e
|
IR: Implement VectorPopulationCount
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
b6de612e01
|
IR: Implement VectorMultiply
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
715ae1c229
|
IR: Implement VectorArithmeticShiftRight
|
2020-04-22 20:46:14 +01:00 |
|
MerryMage
|
132c783320
|
IR: Implement VectorNarrow
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
cbc9f361b0
|
IR: Implement VectorSub
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
b22c5961f9
|
IR: Implement VectorLogicalShiftRight
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
59ace60b03
|
IR: Implement VectorZeroExtend
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
d3a4e1efe2
|
IR: Vector instructions now take esize argument in emitter
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
f6247125c0
|
IR: Implement VectorLogicalShiftLeft{8,16,32,64}
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
15e8231f24
|
opcodes: Sort vector IR opcodes alphabetically
|
2020-04-22 20:46:13 +01:00 |
|
Lioncash
|
35a29a9665
|
A64: Implement ZIP1
|
2020-04-22 20:46:13 +01:00 |
|
FernandoS27
|
586854117b
|
Implemented UMULH and SMULH instructions
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
aac5af50e2
|
IR: FPCompare{32,64} now return NZCV flags instead of implicitly setting them
|
2020-04-22 20:46:13 +01:00 |
|
Lioncash
|
22632db337
|
microinstruction: Add ConditionalSelectNZCV opcode to ReadsFromCPSR()'s switch statement
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
dd2a6684fe
|
IR: Add ConditionalSelectNZCV instruction
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
2409e5d082
|
A64: Implement FCVTZS (scalar, integer), FCVTZU (scalar, integer)
|
2020-04-22 20:46:13 +01:00 |
|
Lioncash
|
40614202e7
|
A64: Implement AESD
|
2020-04-22 20:46:13 +01:00 |
|
Lioncash
|
ccef85dbb7
|
A64: Implement AESE
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
8931ee346b
|
IR: Add IR instruction NZCVFromPackedFlags
This instruction expects NZCV to be in the high bits.
i.e.: The positions they were in PSTATE.
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
47661b746b
|
basic_block: Fix bogus GCC maybe-uninitialized warning
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
ca38225e08
|
fuzz_with_unicorn: Skip instructions that need to be interpreted
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
4be55b8b84
|
A64: Implement FMOV (scalar, immediate)
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
429dc24587
|
IR: Merge U32 and U64 variants of FP instructions
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
ed2bedec43
|
A64: Implement {ST,LD}{1,2,3,4} (multiple structures)
|
2020-04-22 20:46:13 +01:00 |
|
MerryMage
|
ebfc51c609
|
IR: Implement VectorSetElement{8,16,32,64}
|
2020-04-22 20:46:13 +01:00 |
|
Lioncash
|
a5c4fbc783
|
A64: Implement AESIMC and AESMC
|
2020-04-22 20:46:13 +01:00 |
|
Lioncash
|
af1384d700
|
A64: Implement CRC32
|
2020-04-22 20:46:12 +01:00 |
|
MerryMage
|
f023bbb893
|
A32: Add ExceptionRaised IR instruction and use it
|
2020-04-22 20:46:12 +01:00 |
|
Lioncash
|
7ffbebf290
|
A64: Implement CRC32C
|
2020-04-22 20:46:12 +01:00 |
|
MerryMage
|
d7044bc751
|
assert: Use fmt in ASSERT_MSG
|
2020-04-22 20:46:12 +01:00 |
|
MerryMage
|
6fc228f7fd
|
ir_opt: Add A64 Get/Set Elimination Pass
|
2020-04-22 20:46:12 +01:00 |
|
MerryMage
|
e01b500aea
|
ir_emitter: Allow the insertion point for new instructions to be set
|
2020-04-22 20:46:12 +01:00 |
|
Lioncash
|
7734cf1050
|
A64: Implement EXTR
|
2020-04-22 20:46:12 +01:00 |
|
MerryMage
|
b513b2ef05
|
IR: Implement IR instructions A64{Get,Set}S
|
2020-04-22 20:44:38 +01:00 |
|
Lioncash
|
67443efb62
|
General: Convert multiple namespace specifiers to nested namespace specifiers where applicable
Makes namespacing a little less noisy
|
2020-04-22 20:44:38 +01:00 |
|