diff --git a/Ghidra/Processors/SuperH/data/languages/superh.sinc b/Ghidra/Processors/SuperH/data/languages/superh.sinc index 399a0a76f0..b0abb7f5a5 100644 --- a/Ghidra/Processors/SuperH/data/languages/superh.sinc +++ b/Ghidra/Processors/SuperH/data/languages/superh.sinc @@ -1034,11 +1034,11 @@ MovMUReg2: MovMUReg2_15 is MovMUReg2_15 { tmp0 = rn_08_11; # rn_08_11 = old_q_eq_m ? rn_08_11 - tmp2 : rn_08_11 + tmp2; - rn_08_11 = (sext(old_q_eq_m) & (rn_08_11 - tmp2)) | (sext(~old_q_eq_m) & (rn_08_11 + tmp2)); + rn_08_11 = (zext(old_q_eq_m) * (rn_08_11 - tmp2)) + (zext(!old_q_eq_m) * (rn_08_11 + tmp2)); # tmp1 = old_q_eq_m ? rn_08_11 > tmp0 : rn_08_11 < tmp0; - tmp1 = (old_q_eq_m & (rn_08_11 > tmp0)) | (~old_q_eq_m & (rn_08_11 <= tmp0)); + tmp1 = (old_q_eq_m * (rn_08_11 > tmp0)) + (!old_q_eq_m * (rn_08_11 < tmp0)); # $(Q_FLAG) = m_eq_q ? tmp1 : tmp1 == 0; - $(Q_FLAG) = (m_eq_q & tmp1) | (~m_eq_q & (tmp1 == 0)); + $(Q_FLAG) = (m_eq_q * tmp1) + (!m_eq_q & (tmp1 == 0)); $(T_FLAG) = $(Q_FLAG) == $(M_FLAG); }