I just looked at the code, and the patches look fine to me. Let me know if you're expecting me to commit them, Ali.
Gabe Gabriel Michael Black wrote: > 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 > _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
