tmovmsk.cgs revision 1.1.1.1 1 # Intel(r) Wireless MMX(tm) technology testcase for TMOVMSK
2 # mach: xscale
3 # as: -mcpu=xscale+iwmmxt
4
5 .include "testutils.inc"
6
7 start
8
9 .global tmovmsk
10 tmovmsk:
11 # Enable access to CoProcessors 0 & 1 before
12 # we attempt these instructions.
13
14 mvi_h_gr r1, 3
15 mcr p15, 0, r1, cr15, cr1, 0
16
17 # Test Byte Wide Mask Transfer
18
19 mvi_h_gr r0, 0x12345678
20 mvi_h_gr r1, 0x9abcdef0
21 mvi_h_gr r2, 0
22
23 tmcrr wr0, r0, r1
24
25 tmovmskb r2, wr0
26
27 tmrrc r0, r1, wr0
28
29 test_h_gr r0, 0x12345678
30 test_h_gr r1, 0x9abcdef0
31 test_h_gr r2, 0x000000f0
32
33 # Test Half Word Wide Mask Transfer
34
35 mvi_h_gr r0, 0x12345678
36 mvi_h_gr r1, 0x9abcdef0
37 mvi_h_gr r2, 0
38
39 tmcrr wr0, r0, r1
40
41 tmovmskh r2, wr0
42
43 tmrrc r0, r1, wr0
44
45 test_h_gr r0, 0x12345678
46 test_h_gr r1, 0x9abcdef0
47 test_h_gr r2, 0x0000000c
48
49 # Test Word Wide Mask Transfer
50
51 mvi_h_gr r0, 0x12345678
52 mvi_h_gr r1, 0x9abcdef0
53 mvi_h_gr r2, 0
54
55 tmcrr wr0, r0, r1
56
57 tmovmskw r2, wr0
58
59 tmrrc r0, r1, wr0
60
61 test_h_gr r0, 0x12345678
62 test_h_gr r1, 0x9abcdef0
63 test_h_gr r2, 0x00000002
64
65 pass
66