summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gas/testsuite/gas/i860/dual03.s
blob: 96c313429de1f456d89d579bd1af4cde6d760662 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// 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