[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization
nbenoit at tuxfamily dot org
gcc-bugzilla@gcc.gnu.org
Wed Dec 16 12:54:00 GMT 2009
------- Comment #11 from nbenoit at tuxfamily dot org 2009-12-16 12:53 -------
The fastest is the variant with more jumps (442/convol.s in the diff) generated
by GCC-4.4.2.
In the one jump variant (r155286/convol.s in the diff), I guess it is the
computing of both conditions before jumping which slows down the program.
Looking between revisions 151079 and 151080 (which is when the regression first
appeared), the RTL expand dump shows a difference regarding branch prediction.
I do not know if it is relevant:
--- r151079/convol.c.135r.expand 2009-12-01 14:10:55.000000000 +0100
+++ r151080/convol.c.135r.expand 2009-12-01 14:11:03.000000000 +0100
@@ -5,7 +5,6 @@
;; Generating RTL for gimple basic block 2
;; Generating RTL for gimple basic block 3
-Failed to add probability note
;; Generating RTL for gimple basic block 4
@@ -20,13 +19,6 @@
;; Generating RTL for gimple basic block 9
;; Generating RTL for gimple basic block 10
-Purged non-fallthru edges from bb 14
-Predictions for insn 61 bb 3
- no prediction heuristics: 50.0%
- combined heuristics: 50.0%
-Predictions for insn 65 bb 13
- no prediction heuristics: 50.0%
- combined heuristics: 50.0%
I am about to attach the whole diff file.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42027
More information about the Gcc-bugs
mailing list