IdxselStructOpSel fails to perform partial sel() on CF unit test SCCFprf_sel4ivecyc.sac
|
|
Bugzilla Link |
960 |
Created on |
May 31, 2012 21:17 |
Resolution |
FIXED |
Resolved on |
Jun 01, 2012 17:59 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
Worse yet, it tries to do it, and things get ugly soon after that.
This has been in the system for some time now, but it definitely exists
in Build #17855.
It rarely hits in practice, because if you run CYC, CF will
tend to eliminate some or all of the problem, before idxsel() ops
appear.
The problem is like this:
vec = id([2,3]);
z = sel( [0,1], [vec, vec, vec];
In sel() format, CF will simplify this to:
z = sel( [1], vec);
However, once ivecyc comes along, we end up with:
z = idxsel([1], [vec, vec, vec]);
and CF tries to do the same thing, ending up with a two-element
vector, rather than a scalar. Bad dog.
I have disabled that particular optimization (IdxselStructOpSel)
until I find time to write the partial selection code for CF.