Scalar function array bounds confound EWLF half the time
|Created on||Jul 05, 2009 22:10|
The attached or-dot-and inner product function, if compiled with -DFAST, loop-fuses the ∨/scalar∧vector loops, but not otherwise. The problem is that the Cond function containing them is not able to tell that the two array bounds are the same. Switching the operation order allows EWLF to proceed. VEC = xel & y[[colx]]; #ifdef FAST Crow = VEC | Crow; #else // FAST Crow = Crow | VEC; #endif //FAST The compiler, perhaps aided by conformance guards, should be able to solve this problem. This entry is more of a place-holder than any else, to jog my memory when I get the guard stuff working.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information