shader: Fold UnpackFloat2x16 and PackFloat2x16

Simplifies the code a bit when possible. These instructions should be
no-ops codegen wise.
This commit is contained in:
ReinUsesLisp 2021-07-29 21:22:22 -03:00
parent 23b3333f72
commit 8c9febe8f7

View File

@ -476,6 +476,10 @@ void ConstantPropagation(IR::Block& block, IR::Inst& inst) {
return FoldInverseFunc(inst, IR::Opcode::UnpackHalf2x16); return FoldInverseFunc(inst, IR::Opcode::UnpackHalf2x16);
case IR::Opcode::UnpackHalf2x16: case IR::Opcode::UnpackHalf2x16:
return FoldInverseFunc(inst, IR::Opcode::PackHalf2x16); 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::SelectU1:
case IR::Opcode::SelectU8: case IR::Opcode::SelectU8:
case IR::Opcode::SelectU16: case IR::Opcode::SelectU16: