xref: /qemu/tests/tcg/arm/test-arm-iwmmxt.S (revision abff1abf)
1@ Checks whether iwMMXt is functional.
2.code	32
3.globl	main
4
5main:
6ldr	r0, =data0
7ldr	r1, =data1
8ldr	r2, =data2
9#ifndef FPA
10wldrd	wr0, [r0, #0]
11wldrd	wr1, [r0, #8]
12wldrd	wr2, [r1, #0]
13wldrd	wr3, [r1, #8]
14wsubb	wr2, wr2, wr0
15wsubb	wr3, wr3, wr1
16wldrd	wr0, [r2, #0]
17wldrd	wr1, [r2, #8]
18waddb	wr0, wr0, wr2
19waddb	wr1, wr1, wr3
20wstrd	wr0, [r2, #0]
21wstrd	wr1, [r2, #8]
22#else
23ldfe	f0, [r0, #0]
24ldfe	f1, [r0, #8]
25ldfe	f2, [r1, #0]
26ldfe	f3, [r1, #8]
27adfdp	f2, f2, f0
28adfdp	f3, f3, f1
29ldfe	f0, [r2, #0]
30ldfe	f1, [r2, #8]
31adfd	f0, f0, f2
32adfd	f1, f1, f3
33stfe	f0, [r2, #0]
34stfe	f1, [r2, #8]
35#endif
36mov	r0, #1
37mov	r1, r2
38mov	r2, #0x11
39swi	#0x900004
40mov	r0, #0
41swi	#0x900001
42
43.data
44data0:
45.string	"aaaabbbbccccdddd"
46data1:
47.string	"bbbbccccddddeeee"
48data2:
49.string	"hvLLWs\x1fsdrs9\x1fNJ-\n"
50