[ANNOUNCEMENT] Test: {mingw64-{i686,x86_64}-,}gcc-11.1.0-0.1
Thomas Wolff
towo@towo.net
Thu May 13 21:57:40 GMT 2021
Am 13.05.2021 um 21:33 schrieb Hans-Bernhard Bröker:
> Am 13.05.2021 um 10:57 schrieb Thomas Wolff:
>
>> The crash vanishes after removing a few lines from a conditional (if
>> block) where the condition is false.
>
> A conditions that's always false, or one that's false during the
> execution of a particular test case?
False during execution.
>
>> This smells like wrong calculation of a relative jump (Intel "short
>> jump") by the optimizer.
>
> If it were that simple, the problematic change should stand out like
> the proverbial sore thumb when comparing assembly listings of the two
> cases. Does it?
Not really. As the problem only occurs with -O2, I'd need to check the
result of gcc -S -O2, but with -O2, code is stirred so much it's hardly
recognizable. The conditional jump to skip the (dynamically false)
conditional is even a jump backwards in this case...
More information about the Cygwin
mailing list