AL/DL/CF have troubles simplifying vector offsets
|
|
Bugzilla Link |
636 |
Created on |
Dec 20, 2009 23:26 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
FngeV.sac |
Extended Description
Created an attachment (id=633)
Source code to reproduce fault
Not sure exactly what's going on here, but I've whittled this down
a bit. Basically, I think that AL/DL/CF can happily deal with index
vector offset computations that are scalar-based, but they aren't able to
reduce those computations when expressed as vectors. E.g.,
this will AWLF if compiled with -DFAST, but otherwise, the WL
intersection computations fail to reduce:
inline int SUM( int[.] y)
{
lim = _sub_SxS_( _sel_VxA_( [0], _shape_A_(y)), 1);
z = with {
([0] <= iv=[i] < _shape_A_(y)) {
#ifdef FAST
el = y[ [ _sub_SxS_(lim, i)] ];
#else //FAST
el = y[ _sub_SxV_(lim, iv) ];
#endif //FAST
} : el;
} : fold( +, 0);
return(z);
}
sac2c FngeV.sac v1 -b11 -doawlf -nowlf -extrema
Build #16687:MODIFIED