aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-03-28 14:08:17 -0400
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:24 -0400
commit84298ce1917da637e7f60ee6c95602a8e7512c8a (patch)
tree3045e6e10a75b6a4b5ed950aeac8fdf8482dd3b8 /src
parent51475e21ba5e9a17730a2b5a868dc73d53db9bc1 (diff)
shader: Implement ISCADD CC
Diffstat (limited to 'src')
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/integer_scaled_add.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/integer_scaled_add.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/integer_scaled_add.cpp
index 42fd42bb1a..7aef37f541 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/integer_scaled_add.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/integer_scaled_add.cpp
@@ -43,7 +43,10 @@ void ISCADD(TranslatorVisitor& v, u64 insn, IR::U32 op_b) {
v.X(iscadd.dest_reg, result);
if (iscadd.cc != 0) {
- throw NotImplementedException("ISCADD CC");
+ v.SetZFlag(v.ir.GetZeroFromOp(result));
+ v.SetSFlag(v.ir.GetSignFromOp(result));
+ v.SetCFlag(v.ir.GetCarryFromOp(result));
+ v.SetOFlag(v.ir.GetOverflowFromOp(result));
}
}