[Bug target/84251] [8 Regression] Performance regression in gcc 8 when comparing floating point numbers

2018-03-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84251 Richard Biener changed: What|Removed |Added Priority|P3 |P2 --- Comment #6 from Richard Biener

[Bug target/84251] [8 Regression] Performance regression in gcc 8 when comparing floating point numbers

2018-02-09 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84251 --- Comment #5 from Uroš Bizjak --- (In reply to Jakub Jelinek from comment #2) > This changed with r254167. Please see PR 82692, comment #4. We need UNSPECs as an alternative to CCFPUmode to prevent combine from changing CCFPUmode to CCFPmode.

[Bug target/84251] [8 Regression] Performance regression in gcc 8 when comparing floating point numbers

2018-02-09 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84251 --- Comment #4 from Uroš Bizjak --- cse1 pass of gcc-7 converts several insns (15,16,19,24) in BB4 from: 12: L12: 13: NOTE_INSN_BASIC_BLOCK 4 14: flags:CCFPU=cmp(r89:DF,r90:DF) 15: r96:QI=ordered(flags:CCFPU,0) 16: r95:SI=zero_ext

[Bug target/84251] [8 Regression] Performance regression in gcc 8 when comparing floating point numbers

2018-02-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84251 --- Comment #3 from Jakub Jelinek --- Testcase without headers: int cmp (double a, double b) { if (__builtin_isnan (a) || __builtin_isnan (b)) __builtin_abort (); return a == b; } In *.optimized we have: if (a_2(D) unord b_3(D)) g