2010/3/31 ольга крыжановская <olga.kryzhanov...@gmail.com>: > 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? > > Olga
Not mentioned in this vintage book. But who knows for sure? I now check, if we can find out more about this from the SPARC Architecture manual and the v9 ABI. Unfortunately sparc.org and http://www.sparc.com/specificationsDocuments.html seem to be down at the moment. But here is a copy: http://developers.sun.com/solaris/articles/sparcv9.pdf http://dlc.sun.com/pdf/816-5138/816-5138.pdf Also: A better place for getting the right answers on ISA-specific (plus Solaris-specific) implementation details regarding especially sun4v T1 and T2 might be http://www.opensparc.net . Did you already ask over there? Dont miss their download section :))) %martin _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code