ice in slp pass for WIDEN_LSHIFT_EXPR

Bug #960274 reported by mickael guene
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
In Progress
High
Ulrich Weigand

Bug Description

Compiler crash when compiling small.c file with following options:
I'm using 4.6-2012.03 release.
gcc -c small.c -msoft-float -march=armv7-a -mfloat-abi=softfp -mfpu=neon -mvectorize-with-neon-quad -ftree-vectorize -O2

 It appear that problem is due to the fact that we deference random pointer. This is due to the fact that in vectorizable_type_promotion() in case of slp and with code == WIDEN_LSHIFT_EXPR no operand is push into vec_oprnds1.

 Attach patch fix this problem but then we have crash later on.

Revision history for this message
mickael guene (mickael-guene) wrote :
Revision history for this message
mickael guene (mickael-guene) wrote :
description: updated
Revision history for this message
Ulrich Weigand (uweigand) wrote :

Thanks for the bug report. I can confirm this also with current mainline. I'll have a look.

Changed in gcc-linaro:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Ulrich Weigand (uweigand)
Changed in gcc-linaro:
status: Confirmed → In Progress
Revision history for this message
Ulrich Weigand (uweigand) wrote :

It turns out this patch isn't actually needed once the fix for bug #960283 is in; the number of operands, once computed correctly, is only half of slp_node->vec_stmts_size, so the off-by-one doesn't actually matter.

Marking this bug as a duplicate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.