MerryMage
|
57604d2ea8
|
a32_emit_x64: Assert that memory layout assumption in EmitA32GetCpsr is valid
|
2018-07-26 19:26:01 +01:00 |
|
Lioncash
|
945fa48667
|
A64: Implement PMUL
|
2018-07-26 16:16:30 +01:00 |
|
Lioncash
|
656a4042a2
|
ir: Add opcode for performing polynomial multiplication
|
2018-07-26 16:16:30 +01:00 |
|
MerryMage
|
05143df9d8
|
A64: Implement FCVT{N,M,A,P}{U,S} (vector), FCVTZU (vector, integer), single/double variant
|
2018-07-26 12:48:36 +01:00 |
|
MerryMage
|
34ce767a00
|
A64: Implement FCVTZS (vector, integer), single/double variant
|
2018-07-26 12:48:36 +01:00 |
|
MerryMage
|
0f9bc2d391
|
IR: Implement FPVectorTo{Signed,Unsigned}Fixed
|
2018-07-26 12:48:36 +01:00 |
|
MerryMage
|
0189e4454a
|
fp/info: Replace constant value generators with FPValue
Instead of having multiple different functions we can just have one.
|
2018-07-26 11:35:35 +01:00 |
|
MerryMage
|
db165684c0
|
emit_x64_vector_floating_point: AVX implementation of FPVector{Max,Min}
|
2018-07-26 10:10:47 +01:00 |
|
MerryMage
|
31148bdb42
|
emit_x64_vector_floating_point: Remove unnecessary double jump in HandleNaNs
|
2018-07-26 09:42:34 +01:00 |
|
Lioncash
|
4c3ca51e86
|
A64: Implement FMAX's vector single and double precision variants
|
2018-07-26 09:32:02 +01:00 |
|
Lioncash
|
bf0f21cc12
|
A64: Implement FMIN's vector single and double precision variants
|
2018-07-26 09:32:02 +01:00 |
|
MerryMage
|
76f0ca04d6
|
IR: Implement FPVector{Max,Min}
|
2018-07-26 09:31:56 +01:00 |
|
MerryMage
|
6c37c311de
|
FPRecipEstimate: Move offset out of function
MSVC has weird lambda capturing rules.
|
2018-07-25 19:22:35 +01:00 |
|
MerryMage
|
59546f3c60
|
microinstruction: Update ReadsFromAndWritesToFPSRCumulativeExceptionBits
|
2018-07-25 19:17:07 +01:00 |
|
MerryMage
|
3f6b03a06b
|
A64: Implement FRECPS, vector/scalar single/double variants
|
2018-07-25 19:14:23 +01:00 |
|
MerryMage
|
2d2ca5ebc1
|
IR: Implement FPRecipStepFused, FPVectorRecipStepFused
|
2018-07-25 19:14:23 +01:00 |
|
MerryMage
|
5cb9f1dab2
|
A64: Implement FRECPE, vector single/double variant
|
2018-07-25 18:55:58 +01:00 |
|
MerryMage
|
c5a14ab21b
|
IR: Implement FPVectorRecipEstimate
|
2018-07-25 18:55:40 +01:00 |
|
MerryMage
|
56f8a0b172
|
A64: Implement FRECPE, scalar single/double variant
|
2018-07-25 18:47:45 +01:00 |
|
MerryMage
|
fde69b4d36
|
IR: Implement FPRecipEstimate
|
2018-07-25 18:47:22 +01:00 |
|
MerryMage
|
186e52ca50
|
IR: Implement FPRecipEstimate
|
2018-07-25 18:36:40 +01: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
|
041b7d5e17
|
block_of_code: Add ABI_PARAMS array
|
2018-07-25 13:59:14 +01:00 |
|
MerryMage
|
2a2371c7a5
|
A64: Implement MLA, MLS (by element), vector single/double variant
|
2018-07-25 13:58:34 +01:00 |
|
MerryMage
|
78c640ad9e
|
A64: Implement FMLS (vector), single/double variant
|
2018-07-25 13:45:02 +01:00 |
|
MerryMage
|
b6b6993884
|
emit_x64_vector_floating_point: Specify NanHandler::function_type explicitly
MSVC doesn't like dealing with auto return types
|
2018-07-25 13:38:32 +01:00 |
|
MerryMage
|
4b9d12a585
|
emit_x64_vector_floating_point: ChooseOnFsize arguments maybe_unused
|
2018-07-25 13:27:31 +01:00 |
|
MerryMage
|
b1e3616de2
|
IR: Implement FPVectorNeg
|
2018-07-25 13:25:35 +01:00 |
|
MerryMage
|
4343612ec4
|
A64: Implement FMLA (vector), single/double variant
|
2018-07-25 13:20:07 +01:00 |
|
MerryMage
|
93eeb25fac
|
IR: Implement FPVectorMulAdd
|
2018-07-25 13:19:48 +01:00 |
|
MerryMage
|
57e5c7e7a5
|
emit_x64_vector_floating_point: Standardize naming scheme
|
2018-07-25 12:08:00 +01:00 |
|
MerryMage
|
bcb9e4106d
|
emit_x64_floating_point: Simplify indexers
|
2018-07-25 12:05:41 +01:00 |
|
MerryMage
|
83aa5854b6
|
emit_x64_vector_floating_point: Simplify EmitVectorOperation*
|
2018-07-25 11:34:22 +01:00 |
|
MerryMage
|
f4087c81e5
|
mp: rename mp.h to mp/function_info.h
|
2018-07-25 11:28:36 +01:00 |
|
MerryMage
|
18640903ac
|
emit_x64_vector: Slightly improve ArithmeticShiftRightByte
|
2018-07-25 09:33:02 +01:00 |
|
MerryMage
|
e048441d44
|
emit_x64_vector: Simplify VectorShuffleImpl
|
2018-07-24 22:46:45 +01:00 |
|
MerryMage
|
ff025e88d0
|
IR: Implement A64OrQC
|
2018-07-24 19:04:40 +01:00 |
|
MerryMage
|
6fac68dd1d
|
A64: Implement UQSHRN, UQRSHRN (vector)
|
2018-07-24 18:54:28 +01:00 |
|
MerryMage
|
5a8d9c3487
|
emit_x64_vector: -0x80000000 isn't -0x80000000
|
2018-07-24 18:45:45 +01:00 |
|
MerryMage
|
759289ec5c
|
A64: Implement UQXTN (vector)
|
2018-07-24 18:31:32 +01:00 |
|
MerryMage
|
2a96281587
|
emit_x64_vector: Fix non-SSE4.1 saturated narrowing reconstruction comparison
Allows non-SSE4.1 to produce the correct FPSR.QC flag
|
2018-07-24 18:17:14 +01:00 |
|
MerryMage
|
0682353626
|
A64: Implement SQXTN (vector)
|
2018-07-24 17:59:14 +01:00 |
|
MerryMage
|
6c5229ed47
|
emit_x64_vector: packusdw reqiures SSE4.1
In EmitVectorSignedSaturatedNarrowToUnsigned32.
|
2018-07-24 17:32:00 +01:00 |
|
MerryMage
|
158d9b16f0
|
A64: Implement SQSHRUN, SQRSHRUN (vector)
|
2018-07-24 17:20:49 +01:00 |
|
MerryMage
|
f886013526
|
simd_shift_by_immediate: Simplify ShiftRight
|
2018-07-24 16:38:51 +01:00 |
|
MerryMage
|
d9b59c69de
|
A64: Implement SQXTUN
|
2018-07-24 16:32:10 +01:00 |
|
MerryMage
|
50fe28b976
|
microinstruction: Reorganize FPSCR related instruction queries
|
2018-07-24 12:13:18 +01:00 |
|
Lioncash
|
d9d036acc9
|
microinstruction: Add missing FP scalar opcodes to ReadsFromFPSCR() and WritesToFPSCR()
These were forgotten when the opcodes were added.
|
2018-07-24 11:55:15 +01:00 |
|
Lioncash
|
db96163637
|
u128: Make Bit() a const-qualified member function
This function doesn't modify the struct members, so it can be made
const.
|
2018-07-24 09:15:44 +01:00 |
|
MerryMage
|
f7052ae04d
|
A64: Implement FRSQRTS (vector), single/double variant
|
2018-07-23 22:58:52 +01:00 |
|