if the fix need to be in multiple places, perhaps make a template out of that? Sun
On Thu, Aug 12, 2010 at 9:27 AM, Ye, Mei <mei...@amd.com> wrote: > Hello Kalin, > > > > Looks like you missed another place in Simd_Finalize_Loops that may require > a similar fix. > > > > -Mei > > > > ________________________________ > > From: Ju, Roy > Sent: Wednesday, August 11, 2010 3:11 PM > To: Ye, Mei > Subject: FW: [Open64-devel] Simd_Finalize_Loops bug in handling unsigned > comparison loop end > > > > Mei, > > See if you can review this changelist. Thanks. > > > > Roy > > > > From: Hui Shi [mailto:] > Sent: Sunday, August 08, 2010 7:46 PM > To: > Subject: [Open64-devel] Simd_Finalize_Loops bug in handling unsigned > comparison loop end > > > > Hi, All > > > > Can LNO gatekeeper help review this fix? > > > > This bug happens in -m32 on x8664 linux. > > Attached is the test case and patch. > > command line is > > opencc -O3 unsigned_loop_end.c -INLINE:ne=foo:ne=init:ne=check > -OPT:unroll_times_max=1 -m32 > > > > The bug happens when vectorization is happend on following loop. > > int a[100] > > int start; > unsigned i, end; > for( i = start; i < end; i++) { > a[i] = a[i+1]; > } > > with -m64 unsigned comparison is transformed to signed comparison in > STD_Canonicalize_Upper_Bound. > > with -m32 unsigned comparison is kept in LNO. > > > > will update loop_end align to vecotrize factor (vect) > > i <= start + (((end - start + 1) / vect) * vect) -1 > suppose start is 0, end is 2, vect is 4, original serial loop is > for( i = 0; i < 2; i++) > after Simd_Finalize_Loops transformation, simd loop becomes > for(i = 0, i <= -1; i++), > > This loop will itreate 0xffffffff times. > > > > The fix is change loop end to following form when compraion is unsigned. > i < start + (((end - start + 1) / vect) * vect) > > > > > > As discussed with Shuxin, we also doubt why SIMD loop's upper need aligned > with vecotrized factor. Can SIMD only update loop's step? > > like for(i = start, i <= end-1; i+= vector_factor)? > > > > > > Best Regards > > Shi, Hui > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > Open64-devel mailing list > Open64-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/open64-devel > > ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel