------- Comment #3 from jakub at gcc dot gnu dot org 2008-04-21 15:08 ------- This seems to be a vectorizer bug. vectorizable_conversion is called on <gimple_modify_stmt 0x2aaaaea42ed0 side-effects asm_written visited arg 0 <ssa_name 0x2aaaaea462a0 type <real_type 0x2aaaae9496c0 float sizes-gimplified SF size <integer_cst 0x2aaaae928900 constant invariant 32> unit size <integer_cst 0x2aaaae928570 constant invariant 4> align 32 symtab 0 alias set 3 canonical type 0x2aaaae9496c0 precision 32 pointer_to_this <pointer_type 0x2aaaae949900>> visited var <var_decl 0x2aaaaea44140 D.1651> def_stmt <gimple_modify_stmt 0x2aaaaea42ed0> version 14> arg 1 <float_expr 0x2aaaae904b40 type <real_type 0x2aaaae9496c0 float> arg 0 <ssa_name 0x2aaaaea46240 type <integer_type 0x2aaaae93a540 int> visited var <var_decl 0x2aaaaea440a0 D.1650> def_stmt <gimple_modify_stmt 0x2aaaaea42ea0> version 13>> pr35982.c:13:5>
vectype_in is __vector int (V4SFmode) and modifier is NONE. targetm.vectorize.builtin_conversion (FLOAT_EXPR, <__vector int>) returns __builtin_altivec_vcfsx, which converts V4SI argument to V4SF. But what vect_get_vec_defs actually returns in vec_oprnds0 is not V4SI, but V4SF. -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |irar at gcc dot gnu dot org, | |dorit at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-04-21 15:08:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35982