You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The difference in behavior when using general purpose registers (when values are 64-bit wide) instead of vector registers (when values are 256-bit wide) can be explained by the difference in calling conventions: with 64-bit registers, the argument x to the export function comes in a different register than the returned value and the result of the xor must be at the same place as its first argument; a copy is necessary. With 256-bit registers however, arguments and returned values use the same register (and even if it were not the case, the wide xor instruction can put its result in any desired wide register).
The weakness of register-allocation might still be present, but without a test-case allowing to reproduce it, I suggest to close this issue.
The Jasmin compiler cannot compile the following program.
The computation of conflicts during register allocation is not precise enough.
When all
u256
are changed intou64
, the error goes away (but a warning remains): this discrepancy is suspicious.The text was updated successfully, but these errors were encountered: