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