Sun Microsystems UltraSPARC-I User Manual page 249

Table of Contents

Advertisement

UltraSPARC User's Manual
Code Example 13-5 Byte-Aligned Block Copy Inner Loop
Note that the loop must be unrolled two times to achieve maximum
performance. All FP registers are double-precision. Eight versions of
this loop are needed to handle all the cases of double word
misalignment between the source and destination.
loop:
faligndata
faligndata
faligndata
faligndata
faligndata
faligndata
faligndata
addcc
bg,pt
fmovd
(end of loop handling)
l1: ldda
stda
faligndata
faligndata
faligndata
faligndata
faligndata
faligndata
faligndata
faligndata
addcc
be,pnt
fmovd
ldda
stda
ba
faligndata
done:
(end of loop processing)
Sun Microelectronics
234
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
%f0, %f2, %f34
%f2, %f4, %f36
%f4, %f6, %f38
%f6, %f8, %f40
%f8, %f10, %f42
%f10, %f12, %f44
%f12, %f14, %f46
l0, -1, l0
l1
%f14, %f48
[regaddr] ASI_BLK_P, %f0
%f32, [regaddr] ASI_BLK_P
%f48, %f16, %f32
%f16, %f18, %f34
%f18, %f20, %f36
%f20, %f22, %f38
%f22, %f24, %f40
%f24, %f26, %f42
%f26, %f28, %f44
%f28, %f30, %f46
l0, -1, l0
done
%f30, %f48
[regaddr] ASI_BLK_P, %f16
%f32, [regaddr] ASI_BLK_P
loop
%f48, %f0, %f32

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the UltraSPARC-I and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Ultrasparc-ii

Table of Contents