-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Illegal (or unknown) operand: What does this mean? #60
Comments
Not entirely sure why the reported error is that the operand is unknown, but Ithemal only operates over basic blocks so it won't be able to generate a prediction for a jump instruction |
But a jump instruction can be part of a basic block if it is the last instruction in this block. |
That's true, and that is a limitation of Ithemal's current model — different jump instructions could plausibly result in different timings. Unfortunately, including jump instructions at the end of basic blocks makes it quite a bit harder (though potentially not impossible) to get an accurate measure of ground-truth throughput, so we don't include that currently. It would definitely be interesting to see examples of blocks where the choice of jump instruction has a real impact on throughput though. |
Thank you for your reply. It's true that there are several if statements in the loop body I've tested using Ithemal. It seems that IACA or llvm-mca is more suitable for such code snippets |
Illegal (or unknown) operand:
$0x000055e40e799337
In instruction:
jle $0x000055e40e799337
The text was updated successfully, but these errors were encountered: