/* Get next entry */
CodeEntry* E = CS_GetEntry (S, I);
- /* Check if this is a load insn with a label */
+ /* Check if this is a load insn with a label and the next insn is not
+ * a conditional branch that needs the flags from the load.
+ */
if ((E->Info & OF_LOAD) != 0 &&
CE_IsConstImm (E) &&
CE_HasLabel (E) &&
(N = CS_GetNextEntry (S, I)) != 0 &&
- (N->Info & OF_FBRA) == 0) {
+ !CE_UseLoadFlags (N)) {
/* Walk over all insn that jump here */
for (J = 0; J < CE_GetLabelCount (E); ++J) {