summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_compare.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_compare.cpp68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_compare.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_compare.cpp
index f254ecb3a..e78e9c4e1 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_compare.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_compare.cpp
@@ -9,74 +9,6 @@
namespace Shader::Maxwell {
namespace {
-enum class FPCompareOp : u64 {
- F,
- LT,
- EQ,
- LE,
- GT,
- NE,
- GE,
- NUM,
- Nan,
- LTU,
- EQU,
- LEU,
- GTU,
- NEU,
- GEU,
- T,
-};
-
-bool IsCompareOpOrdered(FPCompareOp op) {
- switch (op) {
- case FPCompareOp::LTU:
- case FPCompareOp::EQU:
- case FPCompareOp::LEU:
- case FPCompareOp::GTU:
- case FPCompareOp::NEU:
- case FPCompareOp::GEU:
- return false;
- default:
- return true;
- }
-}
-
-IR::U1 FloatingPointCompare(IR::IREmitter& ir, const IR::F32& operand_1, const IR::F32& operand_2,
- FPCompareOp compare_op, IR::FpControl control) {
- const bool ordered{IsCompareOpOrdered(compare_op)};
- switch (compare_op) {
- case FPCompareOp::F:
- return ir.Imm1(false);
- case FPCompareOp::LT:
- case FPCompareOp::LTU:
- return ir.FPLessThan(operand_1, operand_2, control, ordered);
- case FPCompareOp::EQ:
- case FPCompareOp::EQU:
- return ir.FPEqual(operand_1, operand_2, control, ordered);
- case FPCompareOp::LE:
- case FPCompareOp::LEU:
- return ir.FPLessThanEqual(operand_1, operand_2, control, ordered);
- case FPCompareOp::GT:
- case FPCompareOp::GTU:
- return ir.FPGreaterThan(operand_1, operand_2, control, ordered);
- case FPCompareOp::NE:
- case FPCompareOp::NEU:
- return ir.FPNotEqual(operand_1, operand_2, control, ordered);
- case FPCompareOp::GE:
- case FPCompareOp::GEU:
- return ir.FPGreaterThanEqual(operand_1, operand_2, control, ordered);
- case FPCompareOp::NUM:
- return ir.FPOrdered(operand_1, operand_2);
- case FPCompareOp::Nan:
- return ir.FPUnordered(operand_1, operand_2);
- case FPCompareOp::T:
- return ir.Imm1(true);
- default:
- throw NotImplementedException("Invalid compare op {}", compare_op);
- }
-}
-
void FCMP(TranslatorVisitor& v, u64 insn, const IR::U32& src_a, const IR::F32& operand) {
union {
u64 insn;