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

Reply via email to