This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [lno] Two vectorizer ICEs


Hi,

Sorry for the delayed response (just got back from a long vacation).

I cannot reproduce the problem in lno-bug1.c with the current lno snapshot,
perhaps it was already fixed (by the way, the vectorizer doesn't vectorize
this loop because it doesn't handle structs).

I guess Devang's patch (
http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01588.html) solved the problem
in lno-bug2.c? In any case - it seem to pass compilation (and
vectorization) successfully now.

Is that also the case at your end?

thanks,
dorit



                                                                                                                                            
                      Falk Hueffner                                                                                                         
                      <falk.hueffner@student.uni-tu        To:       gcc-bugs@gcc.gnu.org                                                   
                      ebingen.de>                          cc:       Dorit Naishlos/Haifa/IBM@IBMIL                                         
                                                           Subject:  [lno] Two vectorizer ICEs                                              
                      10/02/2004 19:05                                                                                                      
                                                                                                                                            




Hi,

two vectorizer bugs, with gcc (GCC) 3.5-tree-ssa-lno 20040210 (merged
20040120), on alphaev68-linux with #define UNITS_PER_SIMD_WORD 8.

First one is a division by zero for empty structs (gcc extension):

% cat lno-bug1.c
struct kbd_struct { };
extern struct kbd_struct kbd_table[];
static struct kbd_struct kbd0;
void kbd_init(void)
{
    int i;
    for (i = 0; i < 63; i++)
        kbd_table[i] = kbd0;
}

% gcc -c lno-bug1.c -O3 -ftree-vectorize
lno-bug1.c: In function `kbd_init':
lno-bug1.c:5: internal compiler error: Floating point exception
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Second one:

% cat lno-bug2.c
static int compute_branch_probabilities(void)
{
    int i, hist_br_prob[20];
    for (i = 0; i < 20; i++)
        hist_br_prob[i] = 0;
    return hist_br_prob[i - 1];
}

% gcc -c -O lno-bug2.c -ftree-vectorize
lno-bug2.c: In function `compute_branch_probabilities':
lno-bug2.c:2: error: address taken, but ADDRESABLE bit not set
hist_br_prob

lno-bug2.c:2: internal compiler error: verify_stmts failed.
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Note, this one doesn't happen at -O2.

--
             Falk




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]