[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-18 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #10 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:2e0f4a18bc978c73624dd016e4cce229c2809c9c commit r11-1504-g2e0f4a18bc978c73624dd016e4cce229c2809c9c Author: Jakub Jelinek Date: T

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #9 from Jakub Jelinek --- Created attachment 48749 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48749&action=edit gcc11-pr95699.patch Untested patch to improve the minmax optimization.

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-17 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #8 from Vincent Lefèvre --- (In reply to Jakub Jelinek from comment #6) > I don't see why that should be considered a bug. > All the tests are using __builtin_constant_p in a way that it wasn't > designed for, where it changes the beh

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #7 from Jakub Jelinek --- As for the difference between the first two functions, that boils down to: unsigned long long f1 (unsigned long long x) { if (x < 0x7fffULL) x = 0x7fffULL; return x; } unsigned long lo

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #6 from Jakub Jelinek --- I don't see why that should be considered a bug. All the tests are using __builtin_constant_p in a way that it wasn't designed for, where it changes the behavior of the program whether it evaluates to 0 or 1.

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-17 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #5 from Vincent Lefèvre --- (In reply to Richard Biener from comment #4) > I'm inclined to close as WONTFIX or INVALID. There are several other PRs > which > show "surprising" behavior with respect to __builtin_constant_p and jump >

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #4 from Richard Biener --- I'm inclined to close as WONTFIX or INVALID. There are several other PRs which show "surprising" behavior with respect to __builtin_constant_p and jump threading.

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-16 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #2 from Andrew Pinski --- Oh never mind. It is about [ if (r < 0x8000) r = 0x8000; r *= r; __builtin_constant Well it is Jump threading related.

[Bug c/95699] __builtin_constant_p inconsistencies

2020-06-16 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95699 --- Comment #1 from Andrew Pinski --- Signed integer overflow is undefined.