1# Intel(r) Wireless MMX(tm) technology testcase for WMAC 2# mach: xscale 3# as: -mcpu=xscale+iwmmxt 4 5 .include "testutils.inc" 6 7 start 8 9 .global wmac 10wmac: 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 Unsigned, Multiply Accumulate, Non-zeroing 18 19 mvi_h_gr r0, 0x12345678 20 mvi_h_gr r1, 0x9abcdef0 21 mvi_h_gr r2, 0x11111111 22 mvi_h_gr r3, 0x22222222 23 mvi_h_gr r4, 0x33333333 24 mvi_h_gr r5, 0x44444444 25 26 tmcrr wr0, r0, r1 27 tmcrr wr1, r2, r3 28 tmcrr wr2, r4, r5 29 30 wmacu wr2, wr0, wr1 31 32 tmrrc r0, r1, wr0 33 tmrrc r2, r3, wr1 34 tmrrc r4, r5, wr2 35 36 test_h_gr r0, 0x12345678 37 test_h_gr r1, 0x9abcdef0 38 test_h_gr r2, 0x11111111 39 test_h_gr r3, 0x22222222 40 test_h_gr r4, 0x6c889377 41 test_h_gr r5, 0x44444444 42 43 # Test Unsigned, Multiply Accumulate, Zeroing 44 45 mvi_h_gr r0, 0x12345678 46 mvi_h_gr r1, 0x9abcdef0 47 mvi_h_gr r2, 0x11111111 48 mvi_h_gr r3, 0x22222222 49 mvi_h_gr r4, 0x33333333 50 mvi_h_gr r5, 0x44444444 51 52 tmcrr wr0, r0, r1 53 tmcrr wr1, r2, r3 54 tmcrr wr2, r4, r5 55 56 wmacuz wr2, wr0, wr1 57 58 tmrrc r0, r1, wr0 59 tmrrc r2, r3, wr1 60 tmrrc r4, r5, wr2 61 62 test_h_gr r0, 0x12345678 63 test_h_gr r1, 0x9abcdef0 64 test_h_gr r2, 0x11111111 65 test_h_gr r3, 0x22222222 66 test_h_gr r4, 0x39556044 67 test_h_gr r5, 0x00000000 68 69 # Test Signed, Multiply Accumulate, Non-zeroing 70 71 mvi_h_gr r0, 0x12345678 72 mvi_h_gr r1, 0x9abcdef0 73 mvi_h_gr r2, 0x11111111 74 mvi_h_gr r3, 0x22222222 75 mvi_h_gr r4, 0x33333333 76 mvi_h_gr r5, 0x44444444 77 78 tmcrr wr0, r0, r1 79 tmcrr wr1, r2, r3 80 tmcrr wr2, r4, r5 81 82 wmacs wr2, wr0, wr1 83 84 tmrrc r0, r1, wr0 85 tmrrc r2, r3, wr1 86 tmrrc r4, r5, wr2 87 88 test_h_gr r0, 0x12345678 89 test_h_gr r1, 0x9abcdef0 90 test_h_gr r2, 0x11111111 91 test_h_gr r3, 0x22222222 92 test_h_gr r4, 0x28449377 93 test_h_gr r5, 0x44444444 94 95 # Test Signed, Multiply Accumulate, Zeroing 96 97 mvi_h_gr r0, 0x12345678 98 mvi_h_gr r1, 0x9abcdef0 99 mvi_h_gr r2, 0x11111111 100 mvi_h_gr r3, 0x22222222 101 mvi_h_gr r4, 0x33333333 102 mvi_h_gr r5, 0x44444444 103 104 tmcrr wr0, r0, r1 105 tmcrr wr1, r2, r3 106 tmcrr wr2, r4, r5 107 108 wmacsz wr2, wr0, wr1 109 110 tmrrc r0, r1, wr0 111 tmrrc r2, r3, wr1 112 tmrrc r4, r5, wr2 113 114 test_h_gr r0, 0x12345678 115 test_h_gr r1, 0x9abcdef0 116 test_h_gr r2, 0x11111111 117 test_h_gr r3, 0x22222222 118 test_h_gr r4, 0xf5116044 119 test_h_gr r5, 0xffffffff 120 121 pass 122