blob: 96c313429de1f456d89d579bd1af4cde6d760662 [file] [log] [blame]
// A larger dual-mode test, from the programmer's reference manual.
// This uses Intel syntax, as in the manual.
// Single-precision vector sum
fld.d r0(r16),f20
mov -2,r21
d.pfadd.ss f0,f0,f0
adds -6,r17,r17
d.pfadd.ss f0,f0,f0
bla r21,r17,L1
d.pfadd.ss f0,f0,f0
fld.d 8(r16)++,f22
L1:
d.pfadd.ss f20,f30,f30
bla r21,r17,L2
d.pfadd.ss f21,f31,f31
fld.d 8(r16)++,f20
d.pfadd.ss f20,f30,f30
br S
d.pfadd.ss f21,f31,f31
nop
L2:
d.pfadd.ss f22,f30,f30
bla r21,r17,L1
d.pfadd.ss f23,f31,f31
fld.d 8(r16)++,f22
d.pfadd.ss f20,f30,f30
nop
d.pfadd.ss f21,f31,f31
nop
S:
pfadd.ss f22,f30,f30
mov -4,r21
pfadd.ss f23,f31,f31
bte r21,r17,DONE
fld.l 8(r16)++,f20
pfadd.ss f20,f30,f30
DONE:
pfadd.ss f0,f0,f30
pfadd.ss f30,f31,f31
pfadd.ss f0,f0,f30
pfadd.ss f0,f0,f0
pfadd.ss f0,f0,f31
fadd.ss f30,f31,f16