[Bug tree-optimization/36891] New: ICE with vector division and -ffast-math and LIM

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Jul 21 18:58:00 GMT 2008


I don't know if this is a regression or not but I think it is. Anyways testcase
compile with -O2 -msse -ffast-math:
#define __vector __attribute__((vector_size(16) ))
__vector float f(void);
void g(__vector float);
void RRB( __vector float vdist, __vector float vx)
{
  for(unsigned detail = 0; detail < 5;++detail)
  {
   __vector float frand = f();
   __vector float pullperc =  frand/ vdist;
   __vector float pullx =  vx * pullperc;
   g(pullx);
  }
}
--- CUT ---
The ICE:
t.cc: In function 'void RRB(float __vector__, float __vector__)':
t.cc:4: error: invalid operand to binary operator
reciptmp.22_1

t.cc:4: note: in statement
# VUSE <reciptmp.22_1> { reciptmp.22 }
pullperc_6 = reciptmp.22_1 * frand_3;

t.cc:4: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: ICE with vector division and -ffast-math and LIM
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: i?86-*-* x86_64-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36891



More information about the Gcc-bugs mailing list