WRCI fails for blocked_cholesky.sac
|
|
Bugzilla Link |
1093 |
Created on |
Oct 01, 2013 17:43 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
The code below is patched for big AAA...
sac2c -v0 -O3 bodoDatareuseBug.sac -douip -maxwlur 2 -nowlf -noawlf -bopt:wrci >crudn
sac@rattler:~/sac/testsuite/optimizations/dr$ sac2c -v0 -O3 bodoDatareuseBug.sac -douip -maxwlur 2 -dowlf -noawlf -bopt:wrci >crudd
sac@rattler:~/sac/testsuite/optimizations/dr$ grep RC crudn
genarray( [ _pinl_272__wlbsc_222_sc_e ], _flat_14, RC(_flat_11));
modarray( AAA ,RC(AAA));
sac@rattler:~/sac/testsuite/optimizations/dr$ grep RC crudd
sac@rattler:~/sac/testsuite/optimizations/dr$ cat bodoDatareuseBug.sac
/*
* This is a fault reported by Bodo on a Blocked Cholesky
* benchmark.
*
* He says:
*
* It's two problems: one in wrci, and one in dr:
*
* wrci cannot deal with idxsels
* and dr cannot deal with additions of idxs
*
*/
/* RESULT: noop 0 6 */
/* FILTER: no-no */
use Array: all;
int main()
{
AAA = genarray([10000,10],1);
for( i=0; i<1000000; i++) {
AAA = with {
([3] <= iv < [88]): AAA[[3]] + 2;
} : modarray(AAA);
}
z = sum( AAA);
StdIO::print( z);
z = z - 1700001000;
return( z);
}