[Bug target/84077] [7/8 Regression] Likely wrong code with `__builtin_expect()` on i686-linux-gnu
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 9 21:02:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84077
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Removing the 4 __builtin_expect uses doesn't help either though.
--- dcp.ii 2018-02-09 21:21:16.675015748 +0100
+++ dcp.ii 2018-02-09 21:38:18.795348083 +0100
@@ -284532,7 +284532,7 @@ void wavelet_level<T>::AnalysisFilterSub
for(int i = 0; i < srcwidth; i += 2) {
float lo = 0.f, hi = 0.f;
- if (__builtin_expect (!!(i > skip * taps && i < srcwidth - skip *
taps), 1)) {
+ if (!!(i > skip * taps && i < srcwidth - skip * taps)) {
for (int j = 0, l = -skip * offset; j < taps; j++, l += skip) {
float src = srcbuffer[i - l];
lo += filterLo[j] * src;
@@ -284555,7 +284555,7 @@ template<typename T> void wavelet_level<
const int taps, const int offset, const int width, const int height,
const int row)
{
# 416 "/var/tmp/rawtherapee/rtengine/cplx_wavelet_level.h"
- if (__builtin_expect (!!(row > skip * taps && row < height - skip * taps),
1)) {
+ if (!!(row > skip * taps && row < height - skip * taps)) {
for (int k = 0; k < width; k++) {
float lo = 0.f, hi = 0.f;
@@ -284663,7 +284663,7 @@ template<typename T> void wavelet_level<
int begin = (i + shift) % 2;
- if (__builtin_expect (!!(i > skip * taps && i < (dstheight - skip *
taps)), 1)) {
+ if (!!(i > skip * taps && i < (dstheight - skip * taps))) {
for (int k = 0; k < width; k++) {
float tot = 0.f;
@@ -286419,7 +286419,7 @@ void DCPProfile::apply(
float s;
float v;
- if (__builtin_expect (!!(Color::rgb2hsvdcp(newr, newg, newb, h
, s, v)), 1)) {
+ if (!!(Color::rgb2hsvdcp(newr, newg, newb, h , s, v))) {
hsdApply(delta_info, delta_base, h, s, v);
More information about the Gcc-bugs
mailing list