1# MDMX .OB op tests. 2# mach: sb1 3# as: -mabi=eabi 4# ld: -N -Ttext=0x80010000 5# output: *\\npass\\n 6 7 .include "testutils.inc" 8 .include "utils-mdmx.inc" 9 10 setup 11 12 .set noreorder 13 14 .ent DIAG 15DIAG: 16 17 enable_mdmx 18 19 # set Status.SBX to enable SB-1 extensions. 20 mfc0 $2, $12 21 or $2, $2, (1 << 16) 22 mtc0 $2, $12 23 24 25 ### 26 ### SB-1 Non-accumulator .ob format ops. 27 ### 28 ### Key: v = vector 29 ### ev = vector of single element 30 ### cv = vector of constant. 31 ### 32 33 34 writemsg "pavg.ob (v)" 35 ld_ob $f8, 0x1122334455667788 36 ld_ob $f9, 0x66778899aabbccdd 37 pavg.ob $f10, $f8, $f9 38 ck_ob $f10, 0x3c4d5e6f8091a2b3 39 40 writemsg "pavg.ob (ev)" 41 ld_ob $f8, 0x1122334455667788 42 ld_ob $f9, 0x66778899aabbccdd 43 pavg.ob $f10, $f8, $f9[6] 44 ck_ob $f10, 0x444d555e666f7780 45 46 writemsg "pavg.ob (cv)" 47 ld_ob $f8, 0x1122334455667788 48 pavg.ob $f10, $f8, 0x10 49 ck_ob $f10, 0x1119222a333b444c 50 51 52 writemsg "pabsdiff.ob (v)" 53 ld_ob $f8, 0x1122334455667788 54 ld_ob $f9, 0x66778899aabbccdd 55 pabsdiff.ob $f10, $f8, $f9 56 ck_ob $f10, 0x5555555555555555 57 58 writemsg "pabsdiff.ob (ev)" 59 ld_ob $f8, 0x1122334455667788 60 ld_ob $f9, 0x66778899aabbccdd 61 pabsdiff.ob $f10, $f8, $f9[7] 62 ck_ob $f10, 0x5544332211001122 63 64 writemsg "pabsdiff.ob (cv)" 65 ld_ob $f8, 0x0001020304050607 66 pabsdiff.ob $f10, $f8, 0x04 67 ck_ob $f10, 0x0403020100010203 68 69 70 ### 71 ### SB-1 Accumulator .ob format ops 72 ### 73 ### Key: v = vector 74 ### ev = vector of single element 75 ### cv = vector of constant. 76 ### 77 78 79 writemsg "pabsdiffc.ob (v)" 80 ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 81 ld_ob $f8, 0x1122334455667788 82 ld_ob $f9, 0x66778899aabbccdd 83 pabsdiffc.ob $f8, $f9 84 ck_acc_ob 0x0001020304050607, 0x0000000000000000, 0x5555555555555555 85 86 writemsg "pabsdiffc.ob (ev)" 87 ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 88 ld_ob $f8, 0x1122334455667788 89 ld_ob $f9, 0x66778899aabbccdd 90 pabsdiffc.ob $f8, $f9[7] 91 ck_acc_ob 0x0001020304050607, 0x0000000000000000, 0x5544332211001122 92 93 writemsg "pabsdiffc.ob (cv)" 94 ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 95 ld_ob $f8, 0x0001020304050607 96 pabsdiffc.ob $f8, 0x04 97 ck_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0403020100010203 98 99 100 pass 101 102 .end DIAG 103