Эх сурвалжийг харах

shader: Fold UnpackFloat2x16 and PackFloat2x16

Simplifies the code a bit when possible. These instructions should be
no-ops codegen wise.
ReinUsesLisp 5 жил өмнө
parent
commit
8c9febe8f7

+ 4 - 0
src/shader_recompiler/ir_opt/constant_propagation_pass.cpp

@@ -476,6 +476,10 @@ void ConstantPropagation(IR::Block& block, IR::Inst& inst) {
         return FoldInverseFunc(inst, IR::Opcode::UnpackHalf2x16);
     case IR::Opcode::UnpackHalf2x16:
         return FoldInverseFunc(inst, IR::Opcode::PackHalf2x16);
+    case IR::Opcode::PackFloat2x16:
+        return FoldInverseFunc(inst, IR::Opcode::UnpackFloat2x16);
+    case IR::Opcode::UnpackFloat2x16:
+        return FoldInverseFunc(inst, IR::Opcode::PackFloat2x16);
     case IR::Opcode::SelectU1:
     case IR::Opcode::SelectU8:
     case IR::Opcode::SelectU16: