diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-06-23 06:32:09 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:39 +0200 |
commit | 97e80dda55aec0ff791e4990f09c85e7a7067730 (patch) | |
tree | 394c9d88d2d8d4764ddf5af3be1c0c6006e1cead /src/shader_recompiler/ir_opt | |
parent | glsl: Better IAdd Overflow CC fix (diff) | |
download | yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.tar yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.tar.gz yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.tar.bz2 yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.tar.lz yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.tar.xz yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.tar.zst yuzu-97e80dda55aec0ff791e4990f09c85e7a7067730.zip |
Diffstat (limited to 'src/shader_recompiler/ir_opt')
-rw-r--r-- | src/shader_recompiler/ir_opt/constant_propagation_pass.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp b/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp index 796b4122d..3c72203ad 100644 --- a/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp +++ b/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp @@ -563,6 +563,15 @@ void ConstantPropagation(IR::Block& block, IR::Inst& inst) { return (base & ~(~(~0u << bits) << offset)) | (insert << offset); }); return; + case IR::Opcode::CompositeExtractU32x2: + return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructU32x2, + IR::Opcode::CompositeInsertU32x2); + case IR::Opcode::CompositeExtractU32x3: + return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructU32x3, + IR::Opcode::CompositeInsertU32x3); + case IR::Opcode::CompositeExtractU32x4: + return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructU32x4, + IR::Opcode::CompositeInsertU32x4); case IR::Opcode::CompositeExtractF32x2: return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructF32x2, IR::Opcode::CompositeInsertF32x2); |