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