On 03/31/10 03:48 AM, ольга крыжановская wrote:
2010/3/31 Martin Bochnig<mar...@martux.org>:
2010/3/28 ольга крыжановская<olga.kryzhanov...@gmail.com>:
I am looking for a Sun Studio C example for inline SPARC assembler
which uses the VIS 'block copy' instruction to move a block of<n>
bytes. Has anyone time to write such an example for me, please?

Olga
--
      ,   _                                    _   ,
     { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
.----'-/`-/     olga.kryzhanov...@gmail.com   \-`\-'----.
  `'-..-| /     Solaris/BSD//C/C++ programmer   \ |-..-'`
      /\/\                                     /\/\
      `--`                                      `--`


Hi Olga, I got myself confused now.
But look at this:

http://books.google.com/books?id=L4oyNrsFBbsC&pg=PT69&lpg=PT69&dq=vis+block+memcpy&source=bl&ots=jl1be3e-ut&sig=v8RCH_S5LKdE0qcsYJ2WWNT0-_g&hl=ru&ei=kgSzS_rNEsqi_Abm6rX8CA&sa=X&oi=book_result&ct=result&resnum=3&ved=0CA4Q6AEwAjgK#v=onepage&q=vis%20block%20memcpy&f=false

Support exists in processors to accelerate block copying. Sun´s VIS instruction
set implemented in the UltraSPARC-series processors has a block-copying instruct
ion that bypasses the caches, while still maintaining consistency between the ca
ches and main memory. The bcopy(3C) and memcpy(3C) function calls both use this
mechanism on VIS-enabled processors AUTOMATICALLY.


and


http://books.google.com/books?id=0S8guIHHaiIC&pg=PA149&lpg=PA149&dq=vis+block+memcpy&source=bl&ots=cOhh1QOz_g&sig=V5qi3JWgPogmglvL83WeYIpXgrs&hl=ru&ei=kgSzS_rNEsqi_Abm6rX8CA&sa=X&oi=book_result&ct=result&resnum=6&ved=0CBoQ6AEwBTgK#v=onepage&q=vis%20block%20memcpy&f=false


The UltraSPARC-specific VIS block move instruction performs a 64-byte transfer t
hat is both cache coherent and nonpolluting. This feature IS USED by the platfor
m-specific libc bcopy, bzero, memcpy, memmove, memset, memcmp operations.
But not strcpy(), sprintf(), right?

Those require a memory compare (looking for null terminator), so I don't think you'd see much benefit -- just copy as you compare is probably the most efficient.

    - Garrett

Olga

_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to