This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/46391] false dependencies are computed after vectorization (#2)
- From: "roy.1rosen at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 9 Nov 2010 13:48:17 +0000
- Subject: [Bug rtl-optimization/46391] false dependencies are computed after vectorization (#2)
- Auto-submitted: auto-generated
- References: <bug-46391-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46391
--- Comment #2 from Roy Rosen <roy.1rosen at gmail dot com> 2010-11-09 13:48:15 UTC ---
Seems to me that also on ia64 it is there but the dependecies are still wrong:
;; Function nor (nor)
nor (char * restrict c, char * restrict d)
{
long unsigned int D.2085;
long unsigned int D.2086;
vector(8) char * restrict D.2087;
void * D.2084;
long unsigned int ivtmp?52;
void * D.2071;
void * D.2070;
long unsigned int ivtmp?41;
long unsigned int ivtmp?38;
vector(8) char vect_var_?25;
long int andmask?20;
long int orptrs1?19;
long int addr2int1?18;
long int addr2int0?14;
int i;
char D.2021;
<bb 2>:
addr2int0?14_22 = (long int) c_8(D);
addr2int1?18_24 = (long int) d_5(D);
orptrs1?19_25 = addr2int1?18_24 | addr2int0?14_22;
andmask?20_26 = orptrs1?19_25 & 7;
if (andmask?20_26 == 0)
goto <bb 3>;
else
goto <bb 5>;
<bb 3>:
ivtmp?52_37 = (long unsigned int) c_8(D);
D.2085_32 = (long unsigned int) d_5(D);
D.2086_48 = D.2085_32 + 256;
D.2087_49 = (vector(8) char * restrict) D.2086_48;
<bb 4>:
# PT = nonlocal { PARM_RESTRICT?1 } (restr)
# ALIGN = 8, MISALIGN = 0
# d_43 = PHI <d_44(4), d_5(D)(3)>
# ivtmp?52_31 = PHI <ivtmp?52_30(4), ivtmp?52_37(3)>
# PT = nonlocal { PARM_RESTRICT?0 } (restr)
# ALIGN = 8, MISALIGN = 0
D.2084_33 = (void *) ivtmp?52_31;
vect_var_?25_41 = MEM[(char *)D.2084_33];
ivtmp?52_30 = ivtmp?52_31 + 8;
MEM[(char *)d_43] = vect_var_?25_41;
# PT = nonlocal { PARM_RESTRICT?1 } (restr)
d_44 = d_43 + 8;
if (d_44 != D.2087_49)
goto <bb 4>;
else
goto <bb 7>;
<bb 5>:
ivtmp?38_4 = (long unsigned int) c_8(D);
ivtmp?41_10 = (long unsigned int) d_5(D);
<bb 6>:
# i_28 = PHI <0(5), i_36(6)>
# ivtmp?38_19 = PHI <ivtmp?38_4(5), ivtmp?38_17(6)>
# ivtmp?41_6 = PHI <ivtmp?41_10(5), ivtmp?41_9(6)>
# PT = nonlocal { PARM_RESTRICT?0 } (restr)
D.2070_11 = (void *) ivtmp?38_19;
D.2021_34 = MEM[(char *)D.2070_11];
ivtmp?38_17 = ivtmp?38_19 + 1;
# PT = nonlocal { PARM_RESTRICT?1 } (restr)
D.2071_13 = (void *) ivtmp?41_6;
MEM[(char *)D.2071_13] = D.2021_34;
ivtmp?41_9 = ivtmp?41_6 + 1;
i_36 = i_28 + 1;
if (i_36 != 256)
goto <bb 6>;
else
goto <bb 7>;
<bb 7>:
return 0;
}