What is the reason for excluding the setcc instructions from instr_is_predicated()? It seems to me that these instructions follow the same cc scheme as cmovcc and jcc, so why would they not be similarly predicated? I have an easy workaround, but I would still like to understand the logic here. Thanks if anyone can explain!Byron
--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/9d8ee8b3-ee36-48ec-9bf9-45442fa8880dn%40googlegroups.com.
Now that I look more closely, I'm not sure how to see the setcc group as a set of copy operations. It may be that in some instances of setcc, a flag is copied directly into the dst--for example SETO. But in other cases, a predicate is evaluated, and the result of the predicate is copied into the dst. For example, SETL evaluates (SF == OF) and puts that result into the dst byte--it doesn't copy either SF or OF, only the result of the predicate. So from this standpoint, it seems to be a predicated instruction group.
Instructions like LAHF and PUSHF are different in that they perform the same copy operation regardless of the flag states. So by this logic, LAHF and PUSHF would not be predicated.Am I missing something here?--On Monday, September 26, 2022 at 5:13:29 PM UTC+2 Derek Bruening wrote:I think the logic is that SETCC is just a copy: it unconditionally copies a flag bit from the eflags register to a destination. From that point of view there is no conditional or predicated behavior. If copying the flags were to be considered predicated because it depends on the flags, then LAHF and PUSHF would be predicated.On Sat, Sep 24, 2022 at 8:40 PM Byron Hawkins <byron.c...@gmail.com> wrote:What is the reason for excluding the setcc instructions from instr_is_predicated()? It seems to me that these instructions follow the same cc scheme as cmovcc and jcc, so why would they not be similarly predicated? I have an easy workaround, but I would still like to understand the logic here. Thanks if anyone can explain!Byron--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/9d8ee8b3-ee36-48ec-9bf9-45442fa8880dn%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/cb79f0a9-3bd2-4485-ae9a-e5e8499d1e21n%40googlegroups.com.