Commit 0ff8147
committed
relaxes x86 operands deconstructor to address llvm changes
Occasionally, llvm refines their instruction definitions and change
the number of operands, for example this [commit][1] added an extra
destination register operand. For the old lifters we used a pretty
strict rules for operands deconstructing and for the bts, btc, and btr
instructions we were expecting two operands (now there are three of
them).
I decided to relax the deconstructor instead of changing the
definition of instructions, first to preserve backward compatibility
with the older versions of llvm and second because many other
instructions could be affected by the same changes from the llvm side,
and I don't see any harm if we will accept instructions with one more
argument, knowing that destinations are always prepended.
[1]: llvm/llvm-project@fe96ff71 parent 5042075 commit 0ff8147
1 file changed
+6
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
36 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
37 | 41 | | |
38 | 42 | | |
39 | 43 | | |
| |||
0 commit comments