Great... Gabe, are you satisfied? Ali
On Dec 14, 2009, at 9:00 AM, soumyaroop roy wrote: > Hi Gabe, Ali, > > Updated patch(es) are here: > http://www.csee.usf.edu/~sroy/techres/m5res/m5_alpha_cix_mvi.tar.bz2 > > I folded earlier patches 'alpha_mvi.patch' and > 'alpha_cix_ctpop.patch' into a > single patch 'alpha_mvi_cix.patch'. Then, I incorporated Gabe's > comments as a new patch 'alpha_mvi_cix_1.patch' (easier for you to > spot the differences): > a. inserted blank spaces around operators (e.g., 'a<b' is now 'a < b') > b. removed explicit 'IntAluOp' from the descriptions of min/max > instructions because the use of integer register Ra already > takes care of that. I verified that the generated decoder.cc. > c. removed 'temp' variable from 'ctpop' > > Also verified that the changes did not break anything! > > I am happy to be able to contribute. And, Soumyaroop Roy > <[email protected]> is indeed ok for the commit log. > > regards, > Soumyaroop. > > On 12/13/09, Gabe Black <[email protected]> wrote: >> There are a few minor things I notice. First, you should have spaces >> around your operators, ie. "a<b" should be "a < b". Second, I don't >> think you need to explicitly set IntAluOp in places you're using an >> integer register like Ra. Steve wouldn't know for sure. Third, in >> ctpop, >> you don't need to put Rb into a temporary variable. You might need >> to do >> that if you were, for instance, looking at the value of a destination >> operand to see what flags to set since that would confuse the parser >> into thinking it was a source as well. That's not happening here, >> so it >> makes the code slightly longer unnecessarily. >> >> Outside of those fairly picky complaints, assuming it functions >> correctly, it looks good to me. Thanks for your contribution! >> >> >> Gabe >> >> >> Ali Saidi wrote: >>> Hi Soumyaroop, >>> >>> Thanks for the patches. They look good to me, if no one else has any >>> comments I'll commit them. Is Soumyaroop Roy <[email protected]> ok >>> for >>> the commit log? >>> >>> Thanks, >>> Ali >>> >>> On Dec 10, 2009, at 7:02 PM, soumyaroop roy wrote: >>> >>> >>>> Hello Ali, >>>> >>>> The implementation of the MVI instructions (13 of them) and ctpop >>>> and >>>> a bugfix for cttz for ALPHA along with sanity testcases is >>>> available >>>> here: >>>> http://www.csee.usf.edu/~sroy/techres/m5res/ >>>> m5_alpha_cix_mvi.tar.bz2 >>>> >>>> The "gsm" benchmark from Mediabench-I generates the "maxsw4" >>>> instructions unless compiled with something like a -mcpu=ev56 >>>> option. >>>> >>>> -Soumyaroop >>>> >>>> On Thu, Oct 29, 2009 at 4:27 PM, Ali Saidi <[email protected]> wrote: >>>> >>>>> I'm in no rush... >>>>> >>>>> Here are some references: >>>>> http://www.alphalinux.org/docs/MVI-full.html >>>>> http://www.alphalinux.org/wiki/index.php/Motion_Video_Instructions >>>>> >>>>> libmpeg2 has inverse discrete cosine transform code that makes use >>>>> of the >>>>> MVI instructions. You should be able to extract an inner loop from >>>>> one >>>>> there and compare the output of an x86 and the alpha code executed >>>>> by M5. >>>>> >>>>> As far as CTPOP writing a testcase is pretty trivial. The >>>>> instruction just >>>>> counts the number of bits set in a 64 bit register.See >>>>> http://en.wikipedia.org/wiki/Hamming_weight for an idea of how to >>>>> do this >>>>> quickly without native popcount support. >>>>> >>>>> >>>>> Thanks, >>>>> Ali >>>>> >>>>> >>>>> >>>>> On Thu, 29 Oct 2009 16:42:29 -0400, soumyaroop roy <[email protected] >>>>> > >>>>> wrote: >>>>> >>>>>> [I am replying to m5-dev instead of m5-users] >>>>>> >>>>>> Hello Ali, >>>>>> >>>>>> Which benchmarks should one use to test the implementation of >>>>>> these >>>>>> instructions? >>>>>> >>>>>> Either I or Vidya Sangkar, a labmate of mine, can work on it. >>>>>> But it >>>>>> has to be after Nov 17th. Is that timeline is ok? >>>>>> >>>>>> regards, >>>>>> Soumyaroop >>>>>> >>>>>> On 10/29/09, Ali Saidi <[email protected]> wrote: >>>>>> >>>>>>> ctlz and cttz are available and unless you're doing something >>>>>>> crazy I >>>>>>> don't >>>>>>> think ctpop would be emitted. MVI isn't an instruction but a >>>>>>> class of >>>>>>> instructions. See >>>>>>> >>>>>>> >>>>> http://en.wikipedia.org/wiki/DEC_Alpha#Motion_Video_Instructions_.28MVI.29 >>>>> >>>>>>> At this point we've probably spent as much time discussing them >>>>>>> as it >>>>>>> would >>>>>>> have taken to implement them. >>>>>>> >>>>>>> Ali >>>>>>> >>>>>>> On Thu, 29 Oct 2009 15:55:34 -0400, soumyaroop roy <[email protected] >>>>>>> >>>>>>> wrote: >>>>>>>> One has to supply the flag, "-mno-cix", during compilation to >>>>>>> make >>>>>>>> sure that the CIX instructions ("ctlz", "cttz", and "ctpop") >>>>>>> are not >>>>>>>> emitted in the code. >>>>>>>> >>>>>>>> Here is the list of default flags passed (excerpt from >>>>>>>> "alphaev67-unknown-linux-gnu -v -Q dummy.c"): >>>>>>>> >>>>>>>> options passed: -v dummy.c -mcpu=ev67 -mtune=ev67 >>>>>>>> options enabled: -falign-loops -fargument-alias -fauto-inc-dec >>>>>>>> -fbranch-count-reg -fcommon -fearly-inlining >>>>>>>> -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fident >>>>>>>> -fivopts >>>>>>>> -fkeep-static-consts -fleading-underscore -fmath-errno >>>>>>>> -fmerge-debug-strings -fmove-loop-invariants -fpcc-struct- >>>>>>> return >>>>>>>> -fpeephole -fsched-interblock -fsched-spec -fsched-stalled- >>>>>>> insns-dep >>>>>>>> -fsigned-zeros -fsplit-ivs-in-unroller -ftoplevel-reorder >>>>>>> -ftrapping-math >>>>>>>> -ftree-cselim -ftree-loop-im -ftree-loop-ivcanon >>>>>>> >>>>> -ftree-loop-optimize >>>>> >>>>>>>> -ftree-parallelize-loops= -ftree-reassoc -ftree-scev-cprop >>>>>>>> -ftree-vect-loop-version -fvar-tracking -fzero-initialized-in- >>>>>>> bss >>>>>>>> -mbwx >>>>>>>> -mcix -mexplicit-relocs -mfix -mfloat-ieee -mfp-regs -mglibc >>>>>>> -mlarge-data >>>>>>>> -mlarge-text -mlong-double-128 -mmax >>>>>>>> >>>>>>>> Note the "-mcix" on the second last line above. >>>>>>>> >>>>>>>> I could not find anything about the MVI instruction. >>>>>>>> >>>>>>>> regards, >>>>>>>> Soumyaroop >>>>>>>> >>>>>>>> On 10/29/09, Ali Saidi <[email protected]> wrote: >>>>>>>>> >>>>>>>>> I've put a link on the d/l page. The file is downloading to >>>>>>>>> m5sim.org >>>>>>>>> right >>>>>>>>> now and should be available within 5 minutes. >>>>>>>>> >>>>>>>>> Ali >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, 28 Oct 2009 22:27:11 -0400, soumyaroop roy >>>>>>>>> <[email protected]> >>>>>>>>> >>>>>>>>> wrote: >>>>>>>>>> Nate, >>>>>>>>>> >>>>>>>>>> It is available for download here (33 MB): >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>>> http://72.187.222.34/~sroy/m5_tests/alphaev67-unknown-linux-gnu-x86-32.tar.bz2 >>>>> >>>>>>>>>> >>>>>>>>>> -Soumyaroop >>>>>>>>>> >>>>>>>>>> On Wed, Oct 28, 2009 at 9:12 PM, soumyaroop roy >>>>>>> >>>>> <[email protected]> >>>>> >>>>>>>>>> wrote: >>>>>>>>>>> On Wed, Oct 28, 2009 at 9:04 PM, nathan binkert >>>>>>>>>>> <[email protected]> >>>>>>>>> wrote: >>>>>>>>>>>>>>> My estimate is that the tar-zipped file should between >>>>>>>>>>>>>>> 250-300 >>>>>>>>>>>>>>> MB. >>>>>>>>>>>>>> No problem. >>>>>>>>>>>>> >>>>>>>>>>>>> Let me host it somewhere and send you the link so that >>>>>>> you may >>>>>>>>> download >>>>>>>>>>>>> it. >>>>>>>>>>>> Sure. Once I get it on the m5 site, you can add the link. >>>>>>>>>>> >>>>>>>>>>> Is there a way for me to upload it on the M5 wiki >>>>>>> directly? Is >>>>>>>>>>> that >>>>>>>>>>> what you were implying all along that I should do? >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> Do you mean providing the link though the wiki? I do >>>>>>> not have >>>>>>>>>>>>> permissions to edit this page, >>>>>>>>>>>>> http://www.m5sim.org/wiki/index.php/Download, which has >>>>>>> links >>>>>>>>>>>>> to >>>>>>>>>>>>> the >>>>>>>>>>>>> cross-compilers. >>>>>>>>>>>> >>>>>>>>>>>> You should be able to, but you have to create an account. >>>>>>>>>>> >>>>>>>>>>> I already have an account. But it says: >>>>>>>>>>> >>>>>>>>>>> You do not have permission to edit this page, for the >>>>>>> following >>>>>>>>>>> reason: >>>>>>>>>>> This page has been locked to prevent editing. >>>>>>>>>>> >>>>>>>>>>> You can view and copy the source of this page: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Nate >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> m5-users mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -Soumyaroop >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Soumyaroop Roy >>>>>>>>>>> Ph.D. Candidate >>>>>>>>>>> Department of Computer Science and Engineering >>>>>>>>>>> University of South Florida, Tampa >>>>>>>>>>> http://www.csee.usf.edu/~sroy >>>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> m5-users mailing list >>>>>>>>> [email protected] >>>>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >>>>>>> >>>>>>> >>>> >>>> -- >>>> Soumyaroop Roy >>>> Ph.D. Candidate >>>> Department of Computer Science and Engineering >>>> University of South Florida, Tampa >>>> http://www.csee.usf.edu/~sroy >>>> _______________________________________________ >>>> m5-dev mailing list >>>> [email protected] >>>> http://m5sim.org/mailman/listinfo/m5-dev >>>> >>> >>> _______________________________________________ >>> m5-dev mailing list >>> [email protected] >>> http://m5sim.org/mailman/listinfo/m5-dev >>> >> >> _______________________________________________ >> m5-dev mailing list >> [email protected] >> http://m5sim.org/mailman/listinfo/m5-dev >> > > > -- > Soumyaroop Roy > Ph.D. Candidate > Department of Computer Science and Engineering > University of South Florida, Tampa > http://www.csee.usf.edu/~sroy > _______________________________________________ > m5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/m5-dev > _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
