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

Reply via email to