xref: /openbmc/qemu/tests/tcg/arm/test-arm-iwmmxt.S (revision de44c044420d1139480fa50c2d5be19223391218)
1*65eab0f8SAlex Bennée@ Checks whether iwMMXt is functional.
2*65eab0f8SAlex Bennée.code	32
3*65eab0f8SAlex Bennée.globl	main
4*65eab0f8SAlex Bennée
5*65eab0f8SAlex Bennéemain:
6*65eab0f8SAlex Bennéeldr	r0, =data0
7*65eab0f8SAlex Bennéeldr	r1, =data1
8*65eab0f8SAlex Bennéeldr	r2, =data2
9*65eab0f8SAlex Bennée#ifndef FPA
10*65eab0f8SAlex Bennéewldrd	wr0, [r0, #0]
11*65eab0f8SAlex Bennéewldrd	wr1, [r0, #8]
12*65eab0f8SAlex Bennéewldrd	wr2, [r1, #0]
13*65eab0f8SAlex Bennéewldrd	wr3, [r1, #8]
14*65eab0f8SAlex Bennéewsubb	wr2, wr2, wr0
15*65eab0f8SAlex Bennéewsubb	wr3, wr3, wr1
16*65eab0f8SAlex Bennéewldrd	wr0, [r2, #0]
17*65eab0f8SAlex Bennéewldrd	wr1, [r2, #8]
18*65eab0f8SAlex Bennéewaddb	wr0, wr0, wr2
19*65eab0f8SAlex Bennéewaddb	wr1, wr1, wr3
20*65eab0f8SAlex Bennéewstrd	wr0, [r2, #0]
21*65eab0f8SAlex Bennéewstrd	wr1, [r2, #8]
22*65eab0f8SAlex Bennée#else
23*65eab0f8SAlex Bennéeldfe	f0, [r0, #0]
24*65eab0f8SAlex Bennéeldfe	f1, [r0, #8]
25*65eab0f8SAlex Bennéeldfe	f2, [r1, #0]
26*65eab0f8SAlex Bennéeldfe	f3, [r1, #8]
27*65eab0f8SAlex Bennéeadfdp	f2, f2, f0
28*65eab0f8SAlex Bennéeadfdp	f3, f3, f1
29*65eab0f8SAlex Bennéeldfe	f0, [r2, #0]
30*65eab0f8SAlex Bennéeldfe	f1, [r2, #8]
31*65eab0f8SAlex Bennéeadfd	f0, f0, f2
32*65eab0f8SAlex Bennéeadfd	f1, f1, f3
33*65eab0f8SAlex Bennéestfe	f0, [r2, #0]
34*65eab0f8SAlex Bennéestfe	f1, [r2, #8]
35*65eab0f8SAlex Bennée#endif
36*65eab0f8SAlex Bennéemov	r0, #1
37*65eab0f8SAlex Bennéemov	r1, r2
38*65eab0f8SAlex Bennéemov	r2, #0x11
39*65eab0f8SAlex Bennéeswi	#0x900004
40*65eab0f8SAlex Bennéemov	r0, #0
41*65eab0f8SAlex Bennéeswi	#0x900001
42*65eab0f8SAlex Bennée
43*65eab0f8SAlex Bennée.data
44*65eab0f8SAlex Bennéedata0:
45*65eab0f8SAlex Bennée.string	"aaaabbbbccccdddd"
46*65eab0f8SAlex Bennéedata1:
47*65eab0f8SAlex Bennée.string	"bbbbccccddddeeee"
48*65eab0f8SAlex Bennéedata2:
49*65eab0f8SAlex Bennée.string	"hvLLWs\x1fsdrs9\x1fNJ-\n"
50