MerryMage
|
0de3993373
|
a32_jitstate: Remove fpsr_idc
We do not really have accurate FPSR state in any case.
|
2020-04-22 21:04:22 +01:00 |
|
MerryMage
|
49fca15f90
|
{a32,a64}_jitstate: Rename FPSCR_IDC to fpsr_idc
|
2020-04-22 21:04:21 +01:00 |
|
Merry
|
09ee64ea98
|
Merge pull request #482 from lioncash/fixedfp
A64: Handle half-precision variants of FP->Fixed instructions
|
2020-04-22 21:02:45 +01:00 |
|
Lioncash
|
604f39f00a
|
frontend/ir_emitter: Add half-precision->fixed-point opcodes
|
2020-04-22 21:01:45 +01:00 |
|
Merry
|
45864133f5
|
Merge pull request #478 from lioncash/stepfused
A64: Handle half-precision variants of FRECPE and FRECPS
|
2020-04-22 21:01:44 +01:00 |
|
Lioncash
|
824c551ba2
|
frontend/ir_emitter: Add half-precision opcode variant of FPRSqrtStepFused
|
2020-04-22 21:01:44 +01:00 |
|
Lioncash
|
5dba99b4f4
|
frontend/ir_emitter: Add half-precision opcode variant for FPRSqrtEstimate
|
2020-04-22 21:01:44 +01:00 |
|
Lioncash
|
2184d24e8f
|
frontend/ir_emitter: Add half-precision opcode for FPRecipEstimate
|
2020-04-22 21:01:44 +01:00 |
|
Lioncash
|
6da0411111
|
frontend/ir_emitter: Add half-precision opcode for FPRecipStepFused
|
2020-04-22 21:01:44 +01:00 |
|
Lioncash
|
ad0c698f89
|
frontend/ir_emitter: Add half-precision variant of FPRoundInt
|
2020-04-22 21:01:44 +01:00 |
|
Lioncash
|
bd82513199
|
frontend/ir_emitter: Add half-precision opcode for FPMulAdd
|
2020-04-22 21:01:44 +01:00 |
|
MerryMage
|
13e8b7b516
|
emit_x64_floating_point: F16C implementation of FPSingleToHalf
|
2020-04-22 20:58:17 +01:00 |
|
MerryMage
|
d32d6fe598
|
emit_x64_floating_point: F16C implementation of FPHalfToSingle and FPHalfToDouble
|
2020-04-22 20:58:12 +01:00 |
|
MerryMage
|
a53ba12be2
|
emit_x64_floating_point: Factor out ConvertRoundingModeToX64Immediate
|
2020-04-22 20:58:12 +01:00 |
|
MerryMage
|
5a2adc6629
|
backend/x64: Expose FPCR in EmitContext instead of its subcomponents
|
2020-04-22 20:58:12 +01:00 |
|
Merry
|
01bb1cdd88
|
Merge pull request #458 from lioncash/float-op
A64: Handle half-precision floating point in FABS, FNEG, and scalar FMOV
|
2020-04-22 20:58:12 +01:00 |
|
Lioncash
|
8309ec7a9f
|
frontend/ir_emitter: Add half-precision variant of FPAbs
|
2020-04-22 20:58:12 +01:00 |
|
Lioncash
|
e4c259d69f
|
frontend/ir_emitter: Add half->{single, double} and {double, single}->half conversion opcodes
|
2020-04-22 20:58:12 +01:00 |
|
Lioncash
|
c97efcb978
|
frontend/ir_emitter: Add half-precision variant of FPNeg
|
2020-04-22 20:58:12 +01:00 |
|
Lioncash
|
bd892ec4ef
|
frontend/ir/ir_emitter: Amend FPRecipExponent to handle half-precision floating point
|
2020-04-22 20:58:11 +01:00 |
|
Lioncash
|
7c81a58ed3
|
frontend/ir/ir_emitter: Alter parameters of FPDoubleToSingle() and FPSingleToDouble() to pass along desired rounding mode
This will be necessary to special-case the non-IEEE Von Neumann rounding
to odd rounding mode.
|
2020-04-22 20:58:10 +01:00 |
|
Lioncash
|
9cf3c25811
|
frontend/ir/ir_emitter: Add opcodes for floating point reciprocal exponents
|
2020-04-22 20:58:10 +01:00 |
|
MerryMage
|
03ad2072a7
|
emit_x64_floating_point: Reduce fallback LUT code in EmitFPToFixed
|
2020-04-22 20:55:06 +01:00 |
|
MerryMage
|
90193b0e3d
|
IR: Add fbits argument to FixedToFP-related opcodes
|
2020-04-22 20:55:06 +01:00 |
|
MerryMage
|
3caeb62ef1
|
emit_x64_floating_point: Hardware FMA implementation of FPRSqrtStepFused
|
2020-04-22 20:55:06 +01:00 |
|
MerryMage
|
344ee76aba
|
emit_x64_floating_point: Hardware FMA implementation of FPRecipStepFused{32,64}
|
2020-04-22 20:55:06 +01:00 |
|
MerryMage
|
27427595b7
|
emit_x64_floating_point: EmitFPToFixed: maxsd optimization
maxsd is not required when doing a signed conversion, because x64
produces a 0x80...00 value for out of range values.
|
2020-04-22 20:53:46 +01:00 |
|
MerryMage
|
1abf82ac4a
|
emit_x64_floating_point: ZeroIfNaN: pxor -> xorps
xorps is shorter and more appropriate here.
|
2020-04-22 20:53:46 +01:00 |
|
BreadFish64
|
2a65442933
|
Backend: Create "backend" folder
similar to the "frontend" folder
|
2020-04-22 20:53:46 +01:00 |
|