[Bug target/39241] New: [4.4 Regression] ICE in subreg_get_info, at rtlanal.c:3104
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Feb 19 12:40:00 GMT 2009
ICEs with -O[123s], likely due to the VIEW_CONVERT_EXPR we construct from
*((int*)&f) after inlining.
struct FTprocCompressor {
float * _amp;
float * _env;
float * _as;
};
static inline int f_round(float f)
{
return *((int*)&f) - 0x4b400000;
}
void process (struct FTprocCompressor *_this, float *attack, float *release,
float *data, unsigned int fftn)
{
float ga;
float gr;
float att, rel;
int fftN2 = (fftn+1) >> 1;
int i;
for (i = 0; i < fftN2-1; i++)
{
att =
((attack[i])<(0.002f)?(0.002f):((attack[i])>(1.0f)?(1.0f):(attack[i])));
rel =
((release[i])<(att)?(att):((release[i])>(1.0f)?(1.0f):(release[i])));
ga = _this->_as[f_round(att * (float)(256 -1))];
gr = _this->_as[f_round(rel * (float)(256 -1))];
if (_this->_amp[i] > _this->_env[i])
{
_this->_env[i] = _this->_env[i] * ga + _this->_amp[i] * (1.0f - ga);
_this->_env[i] = _this->_env[i] * gr + _this->_amp[i] * (1.0f - gr);
}
}
}
--
Summary: [4.4 Regression] ICE in subreg_get_info, at
rtlanal.c:3104
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
GCC target triplet: i?86-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39241
More information about the Gcc-bugs
mailing list