buildv.sac AWLF blocked by failure to simplify guard on catenate
|
|
Bugzilla Link |
911 |
Created on |
Feb 15, 2012 21:52 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
The APEX buildv.sac benchmark constructs the vector:
(iota(0)),(iota(1)),(iota(2))...(iota(n))
by means of a fold WL. The result is generated
within the WL body by ++. The indexing operations
use this sort of guard when AWLF and/or -ecc/-check c are invoked:
_dup_2716__uprf_1576, _dup_2717__uprf_1577 =
_val_le_val_SxS_( _dup_2712__uprf_1581, _dup_2715__pinl_1144__flat_880);
currentshape[0] currentshape[0] + i
The right way to handle this is to perform comparison against zero,
as is done in min/max:
tmp = PRF_ARG - PRF_ARG1
val_le_val_SxS_( 0, tmp);
I hope this can be done by ICC, directly.