Compute A-B when A or B is weak.
[oota-llvm.git] / test / MC / Mips / msa / test_3r.s
index 3047ecb7aa8d72339570ad999233f9853982bdc1..df2e1e112606e86d03a683049a1b141b2a8fff8d 100644 (file)
@@ -1,6 +1,4 @@
-# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 -mattr=+msa -arch=mips | FileCheck %s
-#
-# RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=+msa -arch=mips -filetype=obj -o - | llvm-objdump -d -triple=mipsel-unknown-linux -mattr=+msa -arch=mips - | FileCheck %s -check-prefix=CHECKOBJDUMP
+# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
 #
 # CHECK:        add_a.b         $w26, $w9, $w4                  # encoding: [0x78,0x04,0x4e,0x90]
 # CHECK:        add_a.h         $w23, $w27, $w31                # encoding: [0x78,0x3f,0xdd,0xd0]
 # CHECK:        vshf.w          $w16, $w30, $w25                # encoding: [0x78,0x59,0xf4,0x15]
 # CHECK:        vshf.d          $w19, $w11, $w15                # encoding: [0x78,0x6f,0x5c,0xd5]
 
-# CHECKOBJDUMP:        add_a.b         $w26, $w9, $w4
-# CHECKOBJDUMP:        add_a.h         $w23, $w27, $w31
-# CHECKOBJDUMP:        add_a.w         $w11, $w6, $w22
-# CHECKOBJDUMP:        add_a.d         $w6, $w10, $w0
-# CHECKOBJDUMP:        adds_a.b        $w19, $w24, $w19
-# CHECKOBJDUMP:        adds_a.h        $w25, $w6, $w4
-# CHECKOBJDUMP:        adds_a.w        $w25, $w17, $w27
-# CHECKOBJDUMP:        adds_a.d        $w15, $w18, $w26
-# CHECKOBJDUMP:        adds_s.b        $w29, $w11, $w19
-# CHECKOBJDUMP:        adds_s.h        $w5, $w23, $w26
-# CHECKOBJDUMP:        adds_s.w        $w16, $w14, $w13
-# CHECKOBJDUMP:        adds_s.d        $w2, $w14, $w28
-# CHECKOBJDUMP:        adds_u.b        $w3, $w17, $w14
-# CHECKOBJDUMP:        adds_u.h        $w10, $w30, $w4
-# CHECKOBJDUMP:        adds_u.w        $w15, $w18, $w20
-# CHECKOBJDUMP:        adds_u.d        $w30, $w10, $w9
-# CHECKOBJDUMP:        addv.b          $w24, $w20, $w21
-# CHECKOBJDUMP:        addv.h          $w4, $w13, $w27
-# CHECKOBJDUMP:        addv.w          $w19, $w11, $w14
-# CHECKOBJDUMP:        addv.d          $w2, $w21, $w31
-# CHECKOBJDUMP:        asub_s.b        $w23, $w16, $w3
-# CHECKOBJDUMP:        asub_s.h        $w22, $w17, $w25
-# CHECKOBJDUMP:        asub_s.w        $w24, $w1, $w9
-# CHECKOBJDUMP:        asub_s.d        $w13, $w12, $w12
-# CHECKOBJDUMP:        asub_u.b        $w10, $w29, $w11
-# CHECKOBJDUMP:        asub_u.h        $w18, $w9, $w15
-# CHECKOBJDUMP:        asub_u.w        $w10, $w19, $w31
-# CHECKOBJDUMP:        asub_u.d        $w17, $w10, $w0
-# CHECKOBJDUMP:        ave_s.b         $w2, $w5, $w1
-# CHECKOBJDUMP:        ave_s.h         $w16, $w19, $w9
-# CHECKOBJDUMP:        ave_s.w         $w17, $w31, $w5
-# CHECKOBJDUMP:        ave_s.d         $w27, $w25, $w10
-# CHECKOBJDUMP:        ave_u.b         $w16, $w19, $w9
-# CHECKOBJDUMP:        ave_u.h         $w28, $w28, $w11
-# CHECKOBJDUMP:        ave_u.w         $w11, $w12, $w11
-# CHECKOBJDUMP:        ave_u.d         $w30, $w19, $w28
-# CHECKOBJDUMP:        aver_s.b        $w26, $w16, $w2
-# CHECKOBJDUMP:        aver_s.h        $w31, $w27, $w27
-# CHECKOBJDUMP:        aver_s.w        $w28, $w18, $w25
-# CHECKOBJDUMP:        aver_s.d        $w29, $w21, $w27
-# CHECKOBJDUMP:        aver_u.b        $w29, $w26, $w3
-# CHECKOBJDUMP:        aver_u.h        $w18, $w18, $w9
-# CHECKOBJDUMP:        aver_u.w        $w17, $w25, $w29
-# CHECKOBJDUMP:        aver_u.d        $w22, $w22, $w19
-# CHECKOBJDUMP:        bclr.b          $w2, $w15, $w29
-# CHECKOBJDUMP:        bclr.h          $w16, $w21, $w28
-# CHECKOBJDUMP:        bclr.w          $w19, $w2, $w9
-# CHECKOBJDUMP:        bclr.d          $w27, $w31, $w4
-# CHECKOBJDUMP:        binsl.b         $w5, $w16, $w24
-# CHECKOBJDUMP:        binsl.h         $w30, $w5, $w10
-# CHECKOBJDUMP:        binsl.w         $w14, $w15, $w13
-# CHECKOBJDUMP:        binsl.d         $w23, $w20, $w12
-# CHECKOBJDUMP:        binsr.b         $w22, $w11, $w2
-# CHECKOBJDUMP:        binsr.h         $w0, $w26, $w6
-# CHECKOBJDUMP:        binsr.w         $w26, $w3, $w28
-# CHECKOBJDUMP:        binsr.d         $w0, $w0, $w21
-# CHECKOBJDUMP:        bneg.b          $w0, $w11, $w24
-# CHECKOBJDUMP:        bneg.h          $w28, $w16, $w4
-# CHECKOBJDUMP:        bneg.w          $w3, $w26, $w19
-# CHECKOBJDUMP:        bneg.d          $w13, $w29, $w15
-# CHECKOBJDUMP:        bset.b          $w31, $w5, $w31
-# CHECKOBJDUMP:        bset.h          $w14, $w12, $w6
-# CHECKOBJDUMP:        bset.w          $w31, $w9, $w12
-# CHECKOBJDUMP:        bset.d          $w5, $w22, $w5
-# CHECKOBJDUMP:        ceq.b           $w31, $w31, $w18
-# CHECKOBJDUMP:        ceq.h           $w10, $w27, $w9
-# CHECKOBJDUMP:        ceq.w           $w9, $w5, $w14
-# CHECKOBJDUMP:        ceq.d           $w5, $w17, $w0
-# CHECKOBJDUMP:        cle_s.b         $w23, $w4, $w9
-# CHECKOBJDUMP:        cle_s.h         $w22, $w27, $w19
-# CHECKOBJDUMP:        cle_s.w         $w30, $w26, $w10
-# CHECKOBJDUMP:        cle_s.d         $w18, $w5, $w10
-# CHECKOBJDUMP:        cle_u.b         $w1, $w25, $w0
-# CHECKOBJDUMP:        cle_u.h         $w7, $w0, $w29
-# CHECKOBJDUMP:        cle_u.w         $w25, $w18, $w1
-# CHECKOBJDUMP:        cle_u.d         $w6, $w0, $w30
-# CHECKOBJDUMP:        clt_s.b         $w25, $w2, $w21
-# CHECKOBJDUMP:        clt_s.h         $w2, $w19, $w9
-# CHECKOBJDUMP:        clt_s.w         $w23, $w8, $w16
-# CHECKOBJDUMP:        clt_s.d         $w7, $w30, $w12
-# CHECKOBJDUMP:        clt_u.b         $w2, $w31, $w13
-# CHECKOBJDUMP:        clt_u.h         $w16, $w31, $w23
-# CHECKOBJDUMP:        clt_u.w         $w3, $w24, $w9
-# CHECKOBJDUMP:        clt_u.d         $w7, $w0, $w1
-# CHECKOBJDUMP:        div_s.b         $w29, $w3, $w18
-# CHECKOBJDUMP:        div_s.h         $w17, $w16, $w13
-# CHECKOBJDUMP:        div_s.w         $w4, $w25, $w30
-# CHECKOBJDUMP:        div_s.d         $w31, $w9, $w20
-# CHECKOBJDUMP:        div_u.b         $w6, $w29, $w10
-# CHECKOBJDUMP:        div_u.h         $w24, $w21, $w14
-# CHECKOBJDUMP:        div_u.w         $w29, $w14, $w25
-# CHECKOBJDUMP:        div_u.d         $w31, $w1, $w21
-# CHECKOBJDUMP:        dotp_s.h        $w23, $w22, $w25
-# CHECKOBJDUMP:        dotp_s.w        $w20, $w14, $w5
-# CHECKOBJDUMP:        dotp_s.d        $w17, $w2, $w22
-# CHECKOBJDUMP:        dotp_u.h        $w13, $w2, $w6
-# CHECKOBJDUMP:        dotp_u.w        $w15, $w22, $w21
-# CHECKOBJDUMP:        dotp_u.d        $w4, $w16, $w26
-# CHECKOBJDUMP:        dpadd_s.h       $w1, $w28, $w22
-# CHECKOBJDUMP:        dpadd_s.w       $w10, $w1, $w12
-# CHECKOBJDUMP:        dpadd_s.d       $w3, $w21, $w27
-# CHECKOBJDUMP:        dpadd_u.h       $w17, $w5, $w20
-# CHECKOBJDUMP:        dpadd_u.w       $w24, $w8, $w16
-# CHECKOBJDUMP:        dpadd_u.d       $w15, $w29, $w16
-# CHECKOBJDUMP:        dpsub_s.h       $w4, $w11, $w12
-# CHECKOBJDUMP:        dpsub_s.w       $w4, $w7, $w6
-# CHECKOBJDUMP:        dpsub_s.d       $w31, $w12, $w28
-# CHECKOBJDUMP:        dpsub_u.h       $w4, $w25, $w17
-# CHECKOBJDUMP:        dpsub_u.w       $w19, $w25, $w16
-# CHECKOBJDUMP:        dpsub_u.d       $w7, $w10, $w26
-# CHECKOBJDUMP:        hadd_s.h        $w28, $w24, $w2
-# CHECKOBJDUMP:        hadd_s.w        $w24, $w17, $w11
-# CHECKOBJDUMP:        hadd_s.d        $w17, $w15, $w20
-# CHECKOBJDUMP:        hadd_u.h        $w12, $w29, $w17
-# CHECKOBJDUMP:        hadd_u.w        $w9, $w5, $w6
-# CHECKOBJDUMP:        hadd_u.d        $w1, $w20, $w6
-# CHECKOBJDUMP:        hsub_s.h        $w16, $w14, $w29
-# CHECKOBJDUMP:        hsub_s.w        $w9, $w13, $w11
-# CHECKOBJDUMP:        hsub_s.d        $w30, $w18, $w14
-# CHECKOBJDUMP:        hsub_u.h        $w7, $w12, $w14
-# CHECKOBJDUMP:        hsub_u.w        $w21, $w5, $w5
-# CHECKOBJDUMP:        hsub_u.d        $w11, $w12, $w31
-# CHECKOBJDUMP:        ilvev.b         $w18, $w16, $w30
-# CHECKOBJDUMP:        ilvev.h         $w14, $w0, $w13
-# CHECKOBJDUMP:        ilvev.w         $w12, $w25, $w22
-# CHECKOBJDUMP:        ilvev.d         $w30, $w27, $w3
-# CHECKOBJDUMP:        ilvl.b          $w29, $w3, $w21
-# CHECKOBJDUMP:        ilvl.h          $w27, $w10, $w17
-# CHECKOBJDUMP:        ilvl.w          $w6, $w1, $w0
-# CHECKOBJDUMP:        ilvl.d          $w3, $w16, $w24
-# CHECKOBJDUMP:        ilvod.b         $w11, $w5, $w20
-# CHECKOBJDUMP:        ilvod.h         $w18, $w13, $w31
-# CHECKOBJDUMP:        ilvod.w         $w29, $w16, $w24
-# CHECKOBJDUMP:        ilvod.d         $w22, $w12, $w29
-# CHECKOBJDUMP:        ilvr.b          $w4, $w30, $w6
-# CHECKOBJDUMP:        ilvr.h          $w28, $w19, $w29
-# CHECKOBJDUMP:        ilvr.w          $w18, $w20, $w21
-# CHECKOBJDUMP:        ilvr.d          $w23, $w30, $w12
-# CHECKOBJDUMP:        maddv.b         $w17, $w31, $w29
-# CHECKOBJDUMP:        maddv.h         $w7, $w24, $w9
-# CHECKOBJDUMP:        maddv.w         $w22, $w22, $w20
-# CHECKOBJDUMP:        maddv.d         $w30, $w26, $w20
-# CHECKOBJDUMP:        max_a.b         $w23, $w11, $w23
-# CHECKOBJDUMP:        max_a.h         $w20, $w5, $w30
-# CHECKOBJDUMP:        max_a.w         $w7, $w18, $w30
-# CHECKOBJDUMP:        max_a.d         $w8, $w8, $w31
-# CHECKOBJDUMP:        max_s.b         $w10, $w1, $w19
-# CHECKOBJDUMP:        max_s.h         $w15, $w29, $w17
-# CHECKOBJDUMP:        max_s.w         $w15, $w29, $w14
-# CHECKOBJDUMP:        max_s.d         $w25, $w24, $w3
-# CHECKOBJDUMP:        max_u.b         $w12, $w24, $w5
-# CHECKOBJDUMP:        max_u.h         $w5, $w6, $w7
-# CHECKOBJDUMP:        max_u.w         $w16, $w4, $w7
-# CHECKOBJDUMP:        max_u.d         $w26, $w12, $w24
-# CHECKOBJDUMP:        min_a.b         $w4, $w26, $w1
-# CHECKOBJDUMP:        min_a.h         $w12, $w13, $w31
-# CHECKOBJDUMP:        min_a.w         $w28, $w20, $w0
-# CHECKOBJDUMP:        min_a.d         $w12, $w20, $w19
-# CHECKOBJDUMP:        min_s.b         $w19, $w3, $w14
-# CHECKOBJDUMP:        min_s.h         $w27, $w21, $w8
-# CHECKOBJDUMP:        min_s.w         $w0, $w14, $w30
-# CHECKOBJDUMP:        min_s.d         $w6, $w8, $w21
-# CHECKOBJDUMP:        min_u.b         $w22, $w26, $w8
-# CHECKOBJDUMP:        min_u.h         $w7, $w27, $w12
-# CHECKOBJDUMP:        min_u.w         $w8, $w20, $w14
-# CHECKOBJDUMP:        min_u.d         $w26, $w14, $w15
-# CHECKOBJDUMP:        mod_s.b         $w18, $w1, $w26
-# CHECKOBJDUMP:        mod_s.h         $w31, $w30, $w28
-# CHECKOBJDUMP:        mod_s.w         $w2, $w6, $w13
-# CHECKOBJDUMP:        mod_s.d         $w21, $w27, $w22
-# CHECKOBJDUMP:        mod_u.b         $w16, $w7, $w13
-# CHECKOBJDUMP:        mod_u.h         $w24, $w8, $w7
-# CHECKOBJDUMP:        mod_u.w         $w30, $w2, $w17
-# CHECKOBJDUMP:        mod_u.d         $w31, $w2, $w25
-# CHECKOBJDUMP:        msubv.b         $w14, $w5, $w12
-# CHECKOBJDUMP:        msubv.h         $w6, $w7, $w30
-# CHECKOBJDUMP:        msubv.w         $w13, $w2, $w21
-# CHECKOBJDUMP:        msubv.d         $w16, $w14, $w27
-# CHECKOBJDUMP:        mulv.b          $w20, $w3, $w13
-# CHECKOBJDUMP:        mulv.h          $w27, $w26, $w14
-# CHECKOBJDUMP:        mulv.w          $w10, $w29, $w3
-# CHECKOBJDUMP:        mulv.d          $w7, $w19, $w29
-# CHECKOBJDUMP:        pckev.b         $w5, $w27, $w7
-# CHECKOBJDUMP:        pckev.h         $w1, $w4, $w27
-# CHECKOBJDUMP:        pckev.w         $w30, $w20, $w0
-# CHECKOBJDUMP:        pckev.d         $w6, $w1, $w15
-# CHECKOBJDUMP:        pckod.b         $w18, $w28, $w30
-# CHECKOBJDUMP:        pckod.h         $w26, $w5, $w8
-# CHECKOBJDUMP:        pckod.w         $w9, $w4, $w2
-# CHECKOBJDUMP:        pckod.d         $w30, $w22, $w20
-# CHECKOBJDUMP:        sld.b           $w5, $w23[$12]
-# CHECKOBJDUMP:        sld.h           $w1, $w23[$3]
-# CHECKOBJDUMP:        sld.w           $w20, $w8[$9]
-# CHECKOBJDUMP:        sld.d           $w7, $w23[$fp]
-# CHECKOBJDUMP:        sll.b           $w3, $w0, $w17
-# CHECKOBJDUMP:        sll.h           $w17, $w27, $w3
-# CHECKOBJDUMP:        sll.w           $w16, $w7, $w6
-# CHECKOBJDUMP:        sll.d           $w9, $w0, $w26
-# CHECKOBJDUMP:        splat.b         $w28, $w1[$1]
-# CHECKOBJDUMP:        splat.h         $w2, $w11[$11]
-# CHECKOBJDUMP:        splat.w         $w22, $w0[$11]
-# CHECKOBJDUMP:        splat.d         $w0, $w0[$2]
-# CHECKOBJDUMP:        sra.b           $w28, $w4, $w17
-# CHECKOBJDUMP:        sra.h           $w13, $w9, $w3
-# CHECKOBJDUMP:        sra.w           $w27, $w21, $w19
-# CHECKOBJDUMP:        sra.d           $w30, $w8, $w23
-# CHECKOBJDUMP:        srar.b          $w19, $w18, $w18
-# CHECKOBJDUMP:        srar.h          $w7, $w23, $w8
-# CHECKOBJDUMP:        srar.w          $w1, $w12, $w2
-# CHECKOBJDUMP:        srar.d          $w21, $w7, $w14
-# CHECKOBJDUMP:        srl.b           $w12, $w3, $w19
-# CHECKOBJDUMP:        srl.h           $w23, $w31, $w20
-# CHECKOBJDUMP:        srl.w           $w18, $w27, $w11
-# CHECKOBJDUMP:        srl.d           $w3, $w12, $w26
-# CHECKOBJDUMP:        srlr.b          $w15, $w21, $w11
-# CHECKOBJDUMP:        srlr.h          $w21, $w13, $w19
-# CHECKOBJDUMP:        srlr.w          $w6, $w30, $w3
-# CHECKOBJDUMP:        srlr.d          $w1, $w2, $w14
-# CHECKOBJDUMP:        subs_s.b        $w25, $w15, $w1
-# CHECKOBJDUMP:        subs_s.h        $w28, $w25, $w22
-# CHECKOBJDUMP:        subs_s.w        $w10, $w12, $w21
-# CHECKOBJDUMP:        subs_s.d        $w4, $w20, $w18
-# CHECKOBJDUMP:        subs_u.b        $w21, $w6, $w25
-# CHECKOBJDUMP:        subs_u.h        $w3, $w10, $w7
-# CHECKOBJDUMP:        subs_u.w        $w9, $w15, $w10
-# CHECKOBJDUMP:        subs_u.d        $w7, $w19, $w10
-# CHECKOBJDUMP:        subsus_u.b      $w6, $w7, $w12
-# CHECKOBJDUMP:        subsus_u.h      $w6, $w29, $w19
-# CHECKOBJDUMP:        subsus_u.w      $w7, $w15, $w7
-# CHECKOBJDUMP:        subsus_u.d      $w9, $w3, $w15
-# CHECKOBJDUMP:        subsuu_s.b      $w22, $w3, $w31
-# CHECKOBJDUMP:        subsuu_s.h      $w19, $w23, $w22
-# CHECKOBJDUMP:        subsuu_s.w      $w9, $w10, $w13
-# CHECKOBJDUMP:        subsuu_s.d      $w5, $w6, $w0
-# CHECKOBJDUMP:        subv.b          $w6, $w13, $w19
-# CHECKOBJDUMP:        subv.h          $w4, $w25, $w12
-# CHECKOBJDUMP:        subv.w          $w27, $w27, $w11
-# CHECKOBJDUMP:        subv.d          $w9, $w24, $w10
-# CHECKOBJDUMP:        vshf.b          $w3, $w16, $w5
-# CHECKOBJDUMP:        vshf.h          $w20, $w19, $w8
-# CHECKOBJDUMP:        vshf.w          $w16, $w30, $w25
-# CHECKOBJDUMP:        vshf.d          $w19, $w11, $w15
-
                 add_a.b         $w26, $w9, $w4
                 add_a.h         $w23, $w27, $w31
                 add_a.w         $w11, $w6, $w22