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
Following further investigation in #230, I believe that the compiler finds out that M is a constant by constant folding through compilation units with LTO and generating new procedures with only the variable input
As the inline assembly directly use the pointer as an input register, it's likely that its value has been hardcoded. This wouldn't be a problem if the address of the constant didn't change but who knows what the linker does (and there is relocatable code and Address Space Layout Randomization as well)
From #228,
This fails
Those do not
The function that is miscompiled is
constantine/constantine/math/extension_fields/assembly/fp2_asm_x86_adx_bmi2.nim
Lines 117 to 135 in 93dac25
The text was updated successfully, but these errors were encountered: