[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