I can't really look at the code at the moment, but from the description it should be fine.
Gabe Quoting Ali Saidi <[email protected]>: > 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 > _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
