diff --git a/src/libnptm/tra_subs.cpp b/src/libnptm/tra_subs.cpp index 8aa135255e1968a8d3141be9cefe1cdd4cf6f797..47c2b28edfc1fb784f06712f8f70baff9830b5ad 100644 --- a/src/libnptm/tra_subs.cpp +++ b/src/libnptm/tra_subs.cpp @@ -81,7 +81,8 @@ void ffrf( int ltpo = lpo + l40; int imm = l40 * lpo; for (int ilmp40 = 1; ilmp40 <= 3; ilmp40++) { - if ((l40 == 1 && ilmp40 == 1) || (l40 == cil->le && ilmp40 == 3)) continue; // ilmp40 loop + // NOTE: if trapping execution diverges, replace "break" with "continue" + if ((l40 == 1 && ilmp40 == 1) || (l40 == cil->le && ilmp40 == 3)) break; // ilmp40 loop int lmpml = ilmp40 - 2; int lmp = l40 + lmpml; uimmp = uim * (-1.0 * lmpml); @@ -134,7 +135,8 @@ void ffrf( int ltpo = lpo + l80; int imm = l80 * lpo; for (int ilmp80 = 1; ilmp80 <= 3; ilmp80++) { - if ((l80 == 1 && ilmp80 == 1) || (l80 == cil->le && ilmp80 == 3)) continue; // ilmp80 loop + // NOTE: if trapping execution diverges, replace "break" with "continue" + if ((l80 == 1 && ilmp80 == 1) || (l80 == cil->le && ilmp80 == 3)) break; // ilmp80 loop int lmpml = ilmp80 - 2; int lmp = l80 + lmpml; uimmp = uim * (-1.0 * lmpml);