1# RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mcpu=mips32r2 -mattr=+msa | FileCheck %s 2 30x78 0x04 0x4e 0x90 # CHECK: add_a.b $w26, $w9, $w4 40x78 0x3f 0xdd 0xd0 # CHECK: add_a.h $w23, $w27, $w31 50x78 0x56 0x32 0xd0 # CHECK: add_a.w $w11, $w6, $w22 60x78 0x60 0x51 0x90 # CHECK: add_a.d $w6, $w10, $w0 70x78 0x93 0xc4 0xd0 # CHECK: adds_a.b $w19, $w24, $w19 80x78 0xa4 0x36 0x50 # CHECK: adds_a.h $w25, $w6, $w4 90x78 0xdb 0x8e 0x50 # CHECK: adds_a.w $w25, $w17, $w27 100x78 0xfa 0x93 0xd0 # CHECK: adds_a.d $w15, $w18, $w26 110x79 0x13 0x5f 0x50 # CHECK: adds_s.b $w29, $w11, $w19 120x79 0x3a 0xb9 0x50 # CHECK: adds_s.h $w5, $w23, $w26 130x79 0x4d 0x74 0x10 # CHECK: adds_s.w $w16, $w14, $w13 140x79 0x7c 0x70 0x90 # CHECK: adds_s.d $w2, $w14, $w28 150x79 0x8e 0x88 0xd0 # CHECK: adds_u.b $w3, $w17, $w14 160x79 0xa4 0xf2 0x90 # CHECK: adds_u.h $w10, $w30, $w4 170x79 0xd4 0x93 0xd0 # CHECK: adds_u.w $w15, $w18, $w20 180x79 0xe9 0x57 0x90 # CHECK: adds_u.d $w30, $w10, $w9 190x78 0x15 0xa6 0x0e # CHECK: addv.b $w24, $w20, $w21 200x78 0x3b 0x69 0x0e # CHECK: addv.h $w4, $w13, $w27 210x78 0x4e 0x5c 0xce # CHECK: addv.w $w19, $w11, $w14 220x78 0x7f 0xa8 0x8e # CHECK: addv.d $w2, $w21, $w31 230x7a 0x03 0x85 0xd1 # CHECK: asub_s.b $w23, $w16, $w3 240x7a 0x39 0x8d 0x91 # CHECK: asub_s.h $w22, $w17, $w25 250x7a 0x49 0x0e 0x11 # CHECK: asub_s.w $w24, $w1, $w9 260x7a 0x6c 0x63 0x51 # CHECK: asub_s.d $w13, $w12, $w12 270x7a 0x8b 0xea 0x91 # CHECK: asub_u.b $w10, $w29, $w11 280x7a 0xaf 0x4c 0x91 # CHECK: asub_u.h $w18, $w9, $w15 290x7a 0xdf 0x9a 0x91 # CHECK: asub_u.w $w10, $w19, $w31 300x7a 0xe0 0x54 0x51 # CHECK: asub_u.d $w17, $w10, $w0 310x7a 0x01 0x28 0x90 # CHECK: ave_s.b $w2, $w5, $w1 320x7a 0x29 0x9c 0x10 # CHECK: ave_s.h $w16, $w19, $w9 330x7a 0x45 0xfc 0x50 # CHECK: ave_s.w $w17, $w31, $w5 340x7a 0x6a 0xce 0xd0 # CHECK: ave_s.d $w27, $w25, $w10 350x7a 0x89 0x9c 0x10 # CHECK: ave_u.b $w16, $w19, $w9 360x7a 0xab 0xe7 0x10 # CHECK: ave_u.h $w28, $w28, $w11 370x7a 0xcb 0x62 0xd0 # CHECK: ave_u.w $w11, $w12, $w11 380x7a 0xfc 0x9f 0x90 # CHECK: ave_u.d $w30, $w19, $w28 390x7b 0x02 0x86 0x90 # CHECK: aver_s.b $w26, $w16, $w2 400x7b 0x3b 0xdf 0xd0 # CHECK: aver_s.h $w31, $w27, $w27 410x7b 0x59 0x97 0x10 # CHECK: aver_s.w $w28, $w18, $w25 420x7b 0x7b 0xaf 0x50 # CHECK: aver_s.d $w29, $w21, $w27 430x7b 0x83 0xd7 0x50 # CHECK: aver_u.b $w29, $w26, $w3 440x7b 0xa9 0x94 0x90 # CHECK: aver_u.h $w18, $w18, $w9 450x7b 0xdd 0xcc 0x50 # CHECK: aver_u.w $w17, $w25, $w29 460x7b 0xf3 0xb5 0x90 # CHECK: aver_u.d $w22, $w22, $w19 470x79 0x9d 0x78 0x8d # CHECK: bclr.b $w2, $w15, $w29 480x79 0xbc 0xac 0x0d # CHECK: bclr.h $w16, $w21, $w28 490x79 0xc9 0x14 0xcd # CHECK: bclr.w $w19, $w2, $w9 500x79 0xe4 0xfe 0xcd # CHECK: bclr.d $w27, $w31, $w4 510x7b 0x18 0x81 0x4d # CHECK: binsl.b $w5, $w16, $w24 520x7b 0x2a 0x2f 0x8d # CHECK: binsl.h $w30, $w5, $w10 530x7b 0x4d 0x7b 0x8d # CHECK: binsl.w $w14, $w15, $w13 540x7b 0x6c 0xa5 0xcd # CHECK: binsl.d $w23, $w20, $w12 550x7b 0x82 0x5d 0x8d # CHECK: binsr.b $w22, $w11, $w2 560x7b 0xa6 0xd0 0x0d # CHECK: binsr.h $w0, $w26, $w6 570x7b 0xdc 0x1e 0x8d # CHECK: binsr.w $w26, $w3, $w28 580x7b 0xf5 0x00 0x0d # CHECK: binsr.d $w0, $w0, $w21 590x7a 0x98 0x58 0x0d # CHECK: bneg.b $w0, $w11, $w24 600x7a 0xa4 0x87 0x0d # CHECK: bneg.h $w28, $w16, $w4 610x7a 0xd3 0xd0 0xcd # CHECK: bneg.w $w3, $w26, $w19 620x7a 0xef 0xeb 0x4d # CHECK: bneg.d $w13, $w29, $w15 630x7a 0x1f 0x2f 0xcd # CHECK: bset.b $w31, $w5, $w31 640x7a 0x26 0x63 0x8d # CHECK: bset.h $w14, $w12, $w6 650x7a 0x4c 0x4f 0xcd # CHECK: bset.w $w31, $w9, $w12 660x7a 0x65 0xb1 0x4d # CHECK: bset.d $w5, $w22, $w5 670x78 0x12 0xff 0xcf # CHECK: ceq.b $w31, $w31, $w18 680x78 0x29 0xda 0x8f # CHECK: ceq.h $w10, $w27, $w9 690x78 0x4e 0x2a 0x4f # CHECK: ceq.w $w9, $w5, $w14 700x78 0x60 0x89 0x4f # CHECK: ceq.d $w5, $w17, $w0 710x7a 0x09 0x25 0xcf # CHECK: cle_s.b $w23, $w4, $w9 720x7a 0x33 0xdd 0x8f # CHECK: cle_s.h $w22, $w27, $w19 730x7a 0x4a 0xd7 0x8f # CHECK: cle_s.w $w30, $w26, $w10 740x7a 0x6a 0x2c 0x8f # CHECK: cle_s.d $w18, $w5, $w10 750x7a 0x80 0xc8 0x4f # CHECK: cle_u.b $w1, $w25, $w0 760x7a 0xbd 0x01 0xcf # CHECK: cle_u.h $w7, $w0, $w29 770x7a 0xc1 0x96 0x4f # CHECK: cle_u.w $w25, $w18, $w1 780x7a 0xfe 0x01 0x8f # CHECK: cle_u.d $w6, $w0, $w30 790x79 0x15 0x16 0x4f # CHECK: clt_s.b $w25, $w2, $w21 800x79 0x29 0x98 0x8f # CHECK: clt_s.h $w2, $w19, $w9 810x79 0x50 0x45 0xcf # CHECK: clt_s.w $w23, $w8, $w16 820x79 0x6c 0xf1 0xcf # CHECK: clt_s.d $w7, $w30, $w12 830x79 0x8d 0xf8 0x8f # CHECK: clt_u.b $w2, $w31, $w13 840x79 0xb7 0xfc 0x0f # CHECK: clt_u.h $w16, $w31, $w23 850x79 0xc9 0xc0 0xcf # CHECK: clt_u.w $w3, $w24, $w9 860x79 0xe1 0x01 0xcf # CHECK: clt_u.d $w7, $w0, $w1 870x7a 0x12 0x1f 0x52 # CHECK: div_s.b $w29, $w3, $w18 880x7a 0x2d 0x84 0x52 # CHECK: div_s.h $w17, $w16, $w13 890x7a 0x5e 0xc9 0x12 # CHECK: div_s.w $w4, $w25, $w30 900x7a 0x74 0x4f 0xd2 # CHECK: div_s.d $w31, $w9, $w20 910x7a 0x8a 0xe9 0x92 # CHECK: div_u.b $w6, $w29, $w10 920x7a 0xae 0xae 0x12 # CHECK: div_u.h $w24, $w21, $w14 930x7a 0xd9 0x77 0x52 # CHECK: div_u.w $w29, $w14, $w25 940x7a 0xf5 0x0f 0xd2 # CHECK: div_u.d $w31, $w1, $w21 950x78 0x39 0xb5 0xd3 # CHECK: dotp_s.h $w23, $w22, $w25 960x78 0x45 0x75 0x13 # CHECK: dotp_s.w $w20, $w14, $w5 970x78 0x76 0x14 0x53 # CHECK: dotp_s.d $w17, $w2, $w22 980x78 0xa6 0x13 0x53 # CHECK: dotp_u.h $w13, $w2, $w6 990x78 0xd5 0xb3 0xd3 # CHECK: dotp_u.w $w15, $w22, $w21 1000x78 0xfa 0x81 0x13 # CHECK: dotp_u.d $w4, $w16, $w26 1010x79 0x36 0xe0 0x53 # CHECK: dpadd_s.h $w1, $w28, $w22 1020x79 0x4c 0x0a 0x93 # CHECK: dpadd_s.w $w10, $w1, $w12 1030x79 0x7b 0xa8 0xd3 # CHECK: dpadd_s.d $w3, $w21, $w27 1040x79 0xb4 0x2c 0x53 # CHECK: dpadd_u.h $w17, $w5, $w20 1050x79 0xd0 0x46 0x13 # CHECK: dpadd_u.w $w24, $w8, $w16 1060x79 0xf0 0xeb 0xd3 # CHECK: dpadd_u.d $w15, $w29, $w16 1070x7a 0x2c 0x59 0x13 # CHECK: dpsub_s.h $w4, $w11, $w12 1080x7a 0x46 0x39 0x13 # CHECK: dpsub_s.w $w4, $w7, $w6 1090x7a 0x7c 0x67 0xd3 # CHECK: dpsub_s.d $w31, $w12, $w28 1100x7a 0xb1 0xc9 0x13 # CHECK: dpsub_u.h $w4, $w25, $w17 1110x7a 0xd0 0xcc 0xd3 # CHECK: dpsub_u.w $w19, $w25, $w16 1120x7a 0xfa 0x51 0xd3 # CHECK: dpsub_u.d $w7, $w10, $w26 1130x7a 0x22 0xc7 0x15 # CHECK: hadd_s.h $w28, $w24, $w2 1140x7a 0x4b 0x8e 0x15 # CHECK: hadd_s.w $w24, $w17, $w11 1150x7a 0x74 0x7c 0x55 # CHECK: hadd_s.d $w17, $w15, $w20 1160x7a 0xb1 0xeb 0x15 # CHECK: hadd_u.h $w12, $w29, $w17 1170x7a 0xc6 0x2a 0x55 # CHECK: hadd_u.w $w9, $w5, $w6 1180x7a 0xe6 0xa0 0x55 # CHECK: hadd_u.d $w1, $w20, $w6 1190x7b 0x3d 0x74 0x15 # CHECK: hsub_s.h $w16, $w14, $w29 1200x7b 0x4b 0x6a 0x55 # CHECK: hsub_s.w $w9, $w13, $w11 1210x7b 0x6e 0x97 0x95 # CHECK: hsub_s.d $w30, $w18, $w14 1220x7b 0xae 0x61 0xd5 # CHECK: hsub_u.h $w7, $w12, $w14 1230x7b 0xc5 0x2d 0x55 # CHECK: hsub_u.w $w21, $w5, $w5 1240x7b 0xff 0x62 0xd5 # CHECK: hsub_u.d $w11, $w12, $w31 1250x7b 0x1e 0x84 0x94 # CHECK: ilvev.b $w18, $w16, $w30 1260x7b 0x2d 0x03 0x94 # CHECK: ilvev.h $w14, $w0, $w13 1270x7b 0x56 0xcb 0x14 # CHECK: ilvev.w $w12, $w25, $w22 1280x7b 0x63 0xdf 0x94 # CHECK: ilvev.d $w30, $w27, $w3 1290x7a 0x15 0x1f 0x54 # CHECK: ilvl.b $w29, $w3, $w21 1300x7a 0x31 0x56 0xd4 # CHECK: ilvl.h $w27, $w10, $w17 1310x7a 0x40 0x09 0x94 # CHECK: ilvl.w $w6, $w1, $w0 1320x7a 0x78 0x80 0xd4 # CHECK: ilvl.d $w3, $w16, $w24 1330x7b 0x94 0x2a 0xd4 # CHECK: ilvod.b $w11, $w5, $w20 1340x7b 0xbf 0x6c 0x94 # CHECK: ilvod.h $w18, $w13, $w31 1350x7b 0xd8 0x87 0x54 # CHECK: ilvod.w $w29, $w16, $w24 1360x7b 0xfd 0x65 0x94 # CHECK: ilvod.d $w22, $w12, $w29 1370x7a 0x86 0xf1 0x14 # CHECK: ilvr.b $w4, $w30, $w6 1380x7a 0xbd 0x9f 0x14 # CHECK: ilvr.h $w28, $w19, $w29 1390x7a 0xd5 0xa4 0x94 # CHECK: ilvr.w $w18, $w20, $w21 1400x7a 0xec 0xf5 0xd4 # CHECK: ilvr.d $w23, $w30, $w12 1410x78 0x9d 0xfc 0x52 # CHECK: maddv.b $w17, $w31, $w29 1420x78 0xa9 0xc1 0xd2 # CHECK: maddv.h $w7, $w24, $w9 1430x78 0xd4 0xb5 0x92 # CHECK: maddv.w $w22, $w22, $w20 1440x78 0xf4 0xd7 0x92 # CHECK: maddv.d $w30, $w26, $w20 1450x7b 0x17 0x5d 0xce # CHECK: max_a.b $w23, $w11, $w23 1460x7b 0x3e 0x2d 0x0e # CHECK: max_a.h $w20, $w5, $w30 1470x7b 0x5e 0x91 0xce # CHECK: max_a.w $w7, $w18, $w30 1480x7b 0x7f 0x42 0x0e # CHECK: max_a.d $w8, $w8, $w31 1490x79 0x13 0x0a 0x8e # CHECK: max_s.b $w10, $w1, $w19 1500x79 0x31 0xeb 0xce # CHECK: max_s.h $w15, $w29, $w17 1510x79 0x4e 0xeb 0xce # CHECK: max_s.w $w15, $w29, $w14 1520x79 0x63 0xc6 0x4e # CHECK: max_s.d $w25, $w24, $w3 1530x79 0x85 0xc3 0x0e # CHECK: max_u.b $w12, $w24, $w5 1540x79 0xa7 0x31 0x4e # CHECK: max_u.h $w5, $w6, $w7 1550x79 0xc7 0x24 0x0e # CHECK: max_u.w $w16, $w4, $w7 1560x79 0xf8 0x66 0x8e # CHECK: max_u.d $w26, $w12, $w24 1570x7b 0x81 0xd1 0x0e # CHECK: min_a.b $w4, $w26, $w1 1580x7b 0xbf 0x6b 0x0e # CHECK: min_a.h $w12, $w13, $w31 1590x7b 0xc0 0xa7 0x0e # CHECK: min_a.w $w28, $w20, $w0 1600x7b 0xf3 0xa3 0x0e # CHECK: min_a.d $w12, $w20, $w19 1610x7a 0x0e 0x1c 0xce # CHECK: min_s.b $w19, $w3, $w14 1620x7a 0x28 0xae 0xce # CHECK: min_s.h $w27, $w21, $w8 1630x7a 0x5e 0x70 0x0e # CHECK: min_s.w $w0, $w14, $w30 1640x7a 0x75 0x41 0x8e # CHECK: min_s.d $w6, $w8, $w21 1650x7a 0x88 0xd5 0x8e # CHECK: min_u.b $w22, $w26, $w8 1660x7a 0xac 0xd9 0xce # CHECK: min_u.h $w7, $w27, $w12 1670x7a 0xce 0xa2 0x0e # CHECK: min_u.w $w8, $w20, $w14 1680x7a 0xef 0x76 0x8e # CHECK: min_u.d $w26, $w14, $w15 1690x7b 0x1a 0x0c 0x92 # CHECK: mod_s.b $w18, $w1, $w26 1700x7b 0x3c 0xf7 0xd2 # CHECK: mod_s.h $w31, $w30, $w28 1710x7b 0x4d 0x30 0x92 # CHECK: mod_s.w $w2, $w6, $w13 1720x7b 0x76 0xdd 0x52 # CHECK: mod_s.d $w21, $w27, $w22 1730x7b 0x8d 0x3c 0x12 # CHECK: mod_u.b $w16, $w7, $w13 1740x7b 0xa7 0x46 0x12 # CHECK: mod_u.h $w24, $w8, $w7 1750x7b 0xd1 0x17 0x92 # CHECK: mod_u.w $w30, $w2, $w17 1760x7b 0xf9 0x17 0xd2 # CHECK: mod_u.d $w31, $w2, $w25 1770x79 0x0c 0x2b 0x92 # CHECK: msubv.b $w14, $w5, $w12 1780x79 0x3e 0x39 0x92 # CHECK: msubv.h $w6, $w7, $w30 1790x79 0x55 0x13 0x52 # CHECK: msubv.w $w13, $w2, $w21 1800x79 0x7b 0x74 0x12 # CHECK: msubv.d $w16, $w14, $w27 1810x78 0x0d 0x1d 0x12 # CHECK: mulv.b $w20, $w3, $w13 1820x78 0x2e 0xd6 0xd2 # CHECK: mulv.h $w27, $w26, $w14 1830x78 0x43 0xea 0x92 # CHECK: mulv.w $w10, $w29, $w3 1840x78 0x7d 0x99 0xd2 # CHECK: mulv.d $w7, $w19, $w29 1850x79 0x07 0xd9 0x54 # CHECK: pckev.b $w5, $w27, $w7 1860x79 0x3b 0x20 0x54 # CHECK: pckev.h $w1, $w4, $w27 1870x79 0x40 0xa7 0x94 # CHECK: pckev.w $w30, $w20, $w0 1880x79 0x6f 0x09 0x94 # CHECK: pckev.d $w6, $w1, $w15 1890x79 0x9e 0xe4 0x94 # CHECK: pckod.b $w18, $w28, $w30 1900x79 0xa8 0x2e 0x94 # CHECK: pckod.h $w26, $w5, $w8 1910x79 0xc2 0x22 0x54 # CHECK: pckod.w $w9, $w4, $w2 1920x79 0xf4 0xb7 0x94 # CHECK: pckod.d $w30, $w22, $w20 1930x78 0x0c 0xb9 0x54 # CHECK: sld.b $w5, $w23[$12] 1940x78 0x23 0xb8 0x54 # CHECK: sld.h $w1, $w23[$3] 1950x78 0x49 0x45 0x14 # CHECK: sld.w $w20, $w8[$9] 1960x78 0x7e 0xb9 0xd4 # CHECK: sld.d $w7, $w23[$fp] 1970x78 0x11 0x00 0xcd # CHECK: sll.b $w3, $w0, $w17 1980x78 0x23 0xdc 0x4d # CHECK: sll.h $w17, $w27, $w3 1990x78 0x46 0x3c 0x0d # CHECK: sll.w $w16, $w7, $w6 2000x78 0x7a 0x02 0x4d # CHECK: sll.d $w9, $w0, $w26 2010x78 0x81 0x0f 0x14 # CHECK: splat.b $w28, $w1[$1] 2020x78 0xab 0x58 0x94 # CHECK: splat.h $w2, $w11[$11] 2030x78 0xcb 0x05 0x94 # CHECK: splat.w $w22, $w0[$11] 2040x78 0xe2 0x00 0x14 # CHECK: splat.d $w0, $w0[$2] 2050x78 0x91 0x27 0x0d # CHECK: sra.b $w28, $w4, $w17 2060x78 0xa3 0x4b 0x4d # CHECK: sra.h $w13, $w9, $w3 2070x78 0xd3 0xae 0xcd # CHECK: sra.w $w27, $w21, $w19 2080x78 0xf7 0x47 0x8d # CHECK: sra.d $w30, $w8, $w23 2090x78 0x92 0x94 0xd5 # CHECK: srar.b $w19, $w18, $w18 2100x78 0xa8 0xb9 0xd5 # CHECK: srar.h $w7, $w23, $w8 2110x78 0xc2 0x60 0x55 # CHECK: srar.w $w1, $w12, $w2 2120x78 0xee 0x3d 0x55 # CHECK: srar.d $w21, $w7, $w14 2130x79 0x13 0x1b 0x0d # CHECK: srl.b $w12, $w3, $w19 2140x79 0x34 0xfd 0xcd # CHECK: srl.h $w23, $w31, $w20 2150x79 0x4b 0xdc 0x8d # CHECK: srl.w $w18, $w27, $w11 2160x79 0x7a 0x60 0xcd # CHECK: srl.d $w3, $w12, $w26 2170x79 0x0b 0xab 0xd5 # CHECK: srlr.b $w15, $w21, $w11 2180x79 0x33 0x6d 0x55 # CHECK: srlr.h $w21, $w13, $w19 2190x79 0x43 0xf1 0x95 # CHECK: srlr.w $w6, $w30, $w3 2200x79 0x6e 0x10 0x55 # CHECK: srlr.d $w1, $w2, $w14 2210x78 0x01 0x7e 0x51 # CHECK: subs_s.b $w25, $w15, $w1 2220x78 0x36 0xcf 0x11 # CHECK: subs_s.h $w28, $w25, $w22 2230x78 0x55 0x62 0x91 # CHECK: subs_s.w $w10, $w12, $w21 2240x78 0x72 0xa1 0x11 # CHECK: subs_s.d $w4, $w20, $w18 2250x78 0x99 0x35 0x51 # CHECK: subs_u.b $w21, $w6, $w25 2260x78 0xa7 0x50 0xd1 # CHECK: subs_u.h $w3, $w10, $w7 2270x78 0xca 0x7a 0x51 # CHECK: subs_u.w $w9, $w15, $w10 2280x78 0xea 0x99 0xd1 # CHECK: subs_u.d $w7, $w19, $w10 2290x79 0x0c 0x39 0x91 # CHECK: subsus_u.b $w6, $w7, $w12 2300x79 0x33 0xe9 0x91 # CHECK: subsus_u.h $w6, $w29, $w19 2310x79 0x47 0x79 0xd1 # CHECK: subsus_u.w $w7, $w15, $w7 2320x79 0x6f 0x1a 0x51 # CHECK: subsus_u.d $w9, $w3, $w15 2330x79 0x9f 0x1d 0x91 # CHECK: subsuu_s.b $w22, $w3, $w31 2340x79 0xb6 0xbc 0xd1 # CHECK: subsuu_s.h $w19, $w23, $w22 2350x79 0xcd 0x52 0x51 # CHECK: subsuu_s.w $w9, $w10, $w13 2360x79 0xe0 0x31 0x51 # CHECK: subsuu_s.d $w5, $w6, $w0 2370x78 0x93 0x69 0x8e # CHECK: subv.b $w6, $w13, $w19 2380x78 0xac 0xc9 0x0e # CHECK: subv.h $w4, $w25, $w12 2390x78 0xcb 0xde 0xce # CHECK: subv.w $w27, $w27, $w11 2400x78 0xea 0xc2 0x4e # CHECK: subv.d $w9, $w24, $w10 2410x78 0x05 0x80 0xd5 # CHECK: vshf.b $w3, $w16, $w5 2420x78 0x28 0x9d 0x15 # CHECK: vshf.h $w20, $w19, $w8 2430x78 0x59 0xf4 0x15 # CHECK: vshf.w $w16, $w30, $w25 2440x78 0x6f 0x5c 0xd5 # CHECK: vshf.d $w19, $w11, $w15 245