Garrett D'Amore - sun microsystems writes: > Add inlines for i386/amd64 and sparcv9 for the following types of prefetch: > > void prefetch_read_many(void *) > > This requests data be loaded into a cache for repeated reading. (This > equates to a 't0' prefetch on x86 CPUs). > > void prefetch_read_once(void *) > > This requests data be loaded into a cache for one read only, so it can > be flushed from the cache immediately after access. (This equates to a > 'nta' prefetch on x86 CPUs).
Are there SPARC equivalents? Have you considered other CPUs? On PPC, there are four related instructions that I know about: dcbt - data cache block touch dcbtst - data cache block touch for store dcbz - data cache block set to zero dcbf - data cache block flush The first of those sounds like prefetch_read_many(). The others seem not to match up ... but *perhaps* they're rare enough (buried within bcopy and bzero) that nobody cares ... ? -- James Carlson, Solaris Networking <james.d.carlson at sun.com> Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677