mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 03:18:55 +02:00
fuck msvc
This commit is contained in:
parent
3abfd2f2d7
commit
4943950717
1 changed files with 5 additions and 3 deletions
|
|
@ -2115,7 +2115,7 @@ void EmitFPVectorToFixed(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) {
|
||||||
}
|
}
|
||||||
auto const fpt_fn = [fbits, rounding]() -> void (*)(VectorArray<mcl::unsigned_integer_of_size<fsize>>& output, const VectorArray<mcl::unsigned_integer_of_size<fsize>>& input, FP::FPCR fpcr, FP::FPSR& fpsr) {
|
auto const fpt_fn = [fbits, rounding]() -> void (*)(VectorArray<mcl::unsigned_integer_of_size<fsize>>& output, const VectorArray<mcl::unsigned_integer_of_size<fsize>>& input, FP::FPCR fpcr, FP::FPSR& fpsr) {
|
||||||
#define ROUNDING_MODE_CASE(CASE, N) \
|
#define ROUNDING_MODE_CASE(CASE, N) \
|
||||||
else if (rounding == FP::RoundingMode::CASE && fsize >= (N) && fbits == (N)) return &EmitFPVectorToFixedThunk<fsize, unsigned_, FP::RoundingMode::CASE, N>;
|
if (rounding == FP::RoundingMode::CASE && fsize >= (N) && fbits == (N)) return &EmitFPVectorToFixedThunk<fsize, unsigned_, FP::RoundingMode::CASE, N>;
|
||||||
#define ROUNDING_MODE_SWITCH(CASE) \
|
#define ROUNDING_MODE_SWITCH(CASE) \
|
||||||
ROUNDING_MODE_CASE(CASE, 0x00) \
|
ROUNDING_MODE_CASE(CASE, 0x00) \
|
||||||
ROUNDING_MODE_CASE(CASE, 0x01) \
|
ROUNDING_MODE_CASE(CASE, 0x01) \
|
||||||
|
|
@ -2181,7 +2181,9 @@ void EmitFPVectorToFixed(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) {
|
||||||
ROUNDING_MODE_CASE(CASE, 0x3d) \
|
ROUNDING_MODE_CASE(CASE, 0x3d) \
|
||||||
ROUNDING_MODE_CASE(CASE, 0x3e) \
|
ROUNDING_MODE_CASE(CASE, 0x3e) \
|
||||||
ROUNDING_MODE_CASE(CASE, 0x3f)
|
ROUNDING_MODE_CASE(CASE, 0x3f)
|
||||||
if (false) { /* ... */ }
|
|
||||||
|
// FUCK YOU MSVC, FUCKING DEPTH CANT EVEN HANDLE 8+16+32+64 DEPTH OF A ELSE STATMENT YOU FUCKING STUPID
|
||||||
|
// BURN MSVC BURN IT STUPID COMPILER CAN'T EVEN COMPILE THE MOST BASIC C++
|
||||||
ROUNDING_MODE_SWITCH(ToNearest_TieEven)
|
ROUNDING_MODE_SWITCH(ToNearest_TieEven)
|
||||||
ROUNDING_MODE_SWITCH(TowardsPlusInfinity)
|
ROUNDING_MODE_SWITCH(TowardsPlusInfinity)
|
||||||
ROUNDING_MODE_SWITCH(TowardsMinusInfinity)
|
ROUNDING_MODE_SWITCH(TowardsMinusInfinity)
|
||||||
|
|
@ -2189,7 +2191,7 @@ void EmitFPVectorToFixed(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) {
|
||||||
ROUNDING_MODE_SWITCH(ToNearest_TieAwayFromZero)
|
ROUNDING_MODE_SWITCH(ToNearest_TieAwayFromZero)
|
||||||
#undef ROUNDING_MODE_SWITCH
|
#undef ROUNDING_MODE_SWITCH
|
||||||
#undef ROUNDING_MODE_CASE
|
#undef ROUNDING_MODE_CASE
|
||||||
else return nullptr;
|
return nullptr;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
EmitTwoOpFallback<3>(code, ctx, inst, fpt_fn);
|
EmitTwoOpFallback<3>(code, ctx, inst, fpt_fn);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue