ice in slp pass for WIDEN_LSHIFT_EXPR

Bug #960274 reported by mickael guene on 2012-03-20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
In Progress
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.

mickael guene (mickael-guene) wrote :
mickael guene (mickael-guene) wrote :
description: updated
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
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  Edit
Everyone can see this information.

Other bug subscribers