Home | History | Annotate | Download | only in msa
      1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
      2 #
      3 # CHECK:        fadd.w          $w28, $w19, $w28        # encoding: [0x78,0x1c,0x9f,0x1b]
      4 # CHECK:        fadd.d          $w13, $w2, $w29         # encoding: [0x78,0x3d,0x13,0x5b]
      5 # CHECK:        fcaf.w          $w14, $w11, $w25        # encoding: [0x78,0x19,0x5b,0x9a]
      6 # CHECK:        fcaf.d          $w1, $w1, $w19          # encoding: [0x78,0x33,0x08,0x5a]
      7 # CHECK:        fceq.w          $w1, $w23, $w16         # encoding: [0x78,0x90,0xb8,0x5a]
      8 # CHECK:        fceq.d          $w0, $w8, $w16          # encoding: [0x78,0xb0,0x40,0x1a]
      9 # CHECK:        fcle.w          $w16, $w9, $w24         # encoding: [0x79,0x98,0x4c,0x1a]
     10 # CHECK:        fcle.d          $w27, $w14, $w1         # encoding: [0x79,0xa1,0x76,0xda]
     11 # CHECK:        fclt.w          $w28, $w8, $w8          # encoding: [0x79,0x08,0x47,0x1a]
     12 # CHECK:        fclt.d          $w30, $w25, $w11        # encoding: [0x79,0x2b,0xcf,0x9a]
     13 # CHECK:        fcne.w          $w2, $w18, $w23         # encoding: [0x78,0xd7,0x90,0x9c]
     14 # CHECK:        fcne.d          $w14, $w20, $w15        # encoding: [0x78,0xef,0xa3,0x9c]
     15 # CHECK:        fcor.w          $w10, $w18, $w25        # encoding: [0x78,0x59,0x92,0x9c]
     16 # CHECK:        fcor.d          $w17, $w25, $w11        # encoding: [0x78,0x6b,0xcc,0x5c]
     17 # CHECK:        fcueq.w         $w14, $w2, $w21         # encoding: [0x78,0xd5,0x13,0x9a]
     18 # CHECK:        fcueq.d         $w29, $w3, $w7          # encoding: [0x78,0xe7,0x1f,0x5a]
     19 # CHECK:        fcule.w         $w17, $w5, $w3          # encoding: [0x79,0xc3,0x2c,0x5a]
     20 # CHECK:        fcule.d         $w31, $w1, $w30         # encoding: [0x79,0xfe,0x0f,0xda]
     21 # CHECK:        fcult.w         $w6, $w25, $w9          # encoding: [0x79,0x49,0xc9,0x9a]
     22 # CHECK:        fcult.d         $w27, $w8, $w17         # encoding: [0x79,0x71,0x46,0xda]
     23 # CHECK:        fcun.w          $w4, $w20, $w8          # encoding: [0x78,0x48,0xa1,0x1a]
     24 # CHECK:        fcun.d          $w29, $w11, $w3         # encoding: [0x78,0x63,0x5f,0x5a]
     25 # CHECK:        fcune.w         $w13, $w18, $w19        # encoding: [0x78,0x93,0x93,0x5c]
     26 # CHECK:        fcune.d         $w16, $w26, $w21        # encoding: [0x78,0xb5,0xd4,0x1c]
     27 # CHECK:        fdiv.w          $w13, $w24, $w2         # encoding: [0x78,0xc2,0xc3,0x5b]
     28 # CHECK:        fdiv.d          $w19, $w4, $w25         # encoding: [0x78,0xf9,0x24,0xdb]
     29 # CHECK:        fexdo.h         $w8, $w0, $w16          # encoding: [0x7a,0x10,0x02,0x1b]
     30 # CHECK:        fexdo.w         $w0, $w13, $w27         # encoding: [0x7a,0x3b,0x68,0x1b]
     31 # CHECK:        fexp2.w         $w17, $w0, $w3          # encoding: [0x79,0xc3,0x04,0x5b]
     32 # CHECK:        fexp2.d         $w22, $w0, $w10         # encoding: [0x79,0xea,0x05,0x9b]
     33 # CHECK:        fmadd.w         $w29, $w6, $w23         # encoding: [0x79,0x17,0x37,0x5b]
     34 # CHECK:        fmadd.d         $w11, $w28, $w21        # encoding: [0x79,0x35,0xe2,0xdb]
     35 # CHECK:        fmax.w          $w0, $w23, $w13         # encoding: [0x7b,0x8d,0xb8,0x1b]
     36 # CHECK:        fmax.d          $w26, $w18, $w8         # encoding: [0x7b,0xa8,0x96,0x9b]
     37 # CHECK:        fmax_a.w        $w10, $w16, $w10        # encoding: [0x7b,0xca,0x82,0x9b]
     38 # CHECK:        fmax_a.d        $w30, $w9, $w22         # encoding: [0x7b,0xf6,0x4f,0x9b]
     39 # CHECK:        fmin.w          $w24, $w1, $w30         # encoding: [0x7b,0x1e,0x0e,0x1b]
     40 # CHECK:        fmin.d          $w27, $w27, $w10        # encoding: [0x7b,0x2a,0xde,0xdb]
     41 # CHECK:        fmin_a.w        $w10, $w29, $w20        # encoding: [0x7b,0x54,0xea,0x9b]
     42 # CHECK:        fmin_a.d        $w13, $w30, $w24        # encoding: [0x7b,0x78,0xf3,0x5b]
     43 # CHECK:        fmsub.w         $w17, $w25, $w0         # encoding: [0x79,0x40,0xcc,0x5b]
     44 # CHECK:        fmsub.d         $w8, $w18, $w16         # encoding: [0x79,0x70,0x92,0x1b]
     45 # CHECK:        fmul.w          $w3, $w15, $w15         # encoding: [0x78,0x8f,0x78,0xdb]
     46 # CHECK:        fmul.d          $w9, $w30, $w10         # encoding: [0x78,0xaa,0xf2,0x5b]
     47 # CHECK:        fsaf.w          $w25, $w5, $w10         # encoding: [0x7a,0x0a,0x2e,0x5a]
     48 # CHECK:        fsaf.d          $w25, $w3, $w29         # encoding: [0x7a,0x3d,0x1e,0x5a]
     49 # CHECK:        fseq.w          $w11, $w17, $w13        # encoding: [0x7a,0x8d,0x8a,0xda]
     50 # CHECK:        fseq.d          $w29, $w0, $w31         # encoding: [0x7a,0xbf,0x07,0x5a]
     51 # CHECK:        fsle.w          $w30, $w31, $w31        # encoding: [0x7b,0x9f,0xff,0x9a]
     52 # CHECK:        fsle.d          $w18, $w23, $w24        # encoding: [0x7b,0xb8,0xbc,0x9a]
     53 # CHECK:        fslt.w          $w12, $w5, $w6          # encoding: [0x7b,0x06,0x2b,0x1a]
     54 # CHECK:        fslt.d          $w16, $w26, $w21        # encoding: [0x7b,0x35,0xd4,0x1a]
     55 # CHECK:        fsne.w          $w30, $w1, $w12         # encoding: [0x7a,0xcc,0x0f,0x9c]
     56 # CHECK:        fsne.d          $w14, $w13, $w23        # encoding: [0x7a,0xf7,0x6b,0x9c]
     57 # CHECK:        fsor.w          $w27, $w13, $w27        # encoding: [0x7a,0x5b,0x6e,0xdc]
     58 # CHECK:        fsor.d          $w12, $w24, $w11        # encoding: [0x7a,0x6b,0xc3,0x1c]
     59 # CHECK:        fsub.w          $w31, $w26, $w1         # encoding: [0x78,0x41,0xd7,0xdb]
     60 # CHECK:        fsub.d          $w19, $w17, $w27        # encoding: [0x78,0x7b,0x8c,0xdb]
     61 # CHECK:        fsueq.w         $w16, $w24, $w25        # encoding: [0x7a,0xd9,0xc4,0x1a]
     62 # CHECK:        fsueq.d         $w18, $w14, $w14        # encoding: [0x7a,0xee,0x74,0x9a]
     63 # CHECK:        fsule.w         $w23, $w30, $w13        # encoding: [0x7b,0xcd,0xf5,0xda]
     64 # CHECK:        fsule.d         $w2, $w11, $w26         # encoding: [0x7b,0xfa,0x58,0x9a]
     65 # CHECK:        fsult.w         $w11, $w26, $w22        # encoding: [0x7b,0x56,0xd2,0xda]
     66 # CHECK:        fsult.d         $w6, $w23, $w30         # encoding: [0x7b,0x7e,0xb9,0x9a]
     67 # CHECK:        fsun.w          $w3, $w18, $w28         # encoding: [0x7a,0x5c,0x90,0xda]
     68 # CHECK:        fsun.d          $w18, $w11, $w19        # encoding: [0x7a,0x73,0x5c,0x9a]
     69 # CHECK:        fsune.w         $w16, $w31, $w2         # encoding: [0x7a,0x82,0xfc,0x1c]
     70 # CHECK:        fsune.d         $w3, $w26, $w17         # encoding: [0x7a,0xb1,0xd0,0xdc]
     71 # CHECK:        ftq.h           $w16, $w4, $w24         # encoding: [0x7a,0x98,0x24,0x1b]
     72 # CHECK:        ftq.w           $w5, $w5, $w25          # encoding: [0x7a,0xb9,0x29,0x5b]
     73 # CHECK:        madd_q.h        $w16, $w20, $w10        # encoding: [0x79,0x4a,0xa4,0x1c]
     74 # CHECK:        madd_q.w        $w28, $w2, $w9          # encoding: [0x79,0x69,0x17,0x1c]
     75 # CHECK:        maddr_q.h       $w8, $w18, $w9          # encoding: [0x7b,0x49,0x92,0x1c]
     76 # CHECK:        maddr_q.w       $w29, $w12, $w16        # encoding: [0x7b,0x70,0x67,0x5c]
     77 # CHECK:        msub_q.h        $w24, $w26, $w10        # encoding: [0x79,0x8a,0xd6,0x1c]
     78 # CHECK:        msub_q.w        $w13, $w30, $w28        # encoding: [0x79,0xbc,0xf3,0x5c]
     79 # CHECK:        msubr_q.h       $w12, $w21, $w11        # encoding: [0x7b,0x8b,0xab,0x1c]
     80 # CHECK:        msubr_q.w       $w1, $w14, $w20         # encoding: [0x7b,0xb4,0x70,0x5c]
     81 # CHECK:        mul_q.h         $w6, $w16, $w30         # encoding: [0x79,0x1e,0x81,0x9c]
     82 # CHECK:        mul_q.w         $w16, $w1, $w4          # encoding: [0x79,0x24,0x0c,0x1c]
     83 # CHECK:        mulr_q.h        $w6, $w20, $w19         # encoding: [0x7b,0x13,0xa1,0x9c]
     84 # CHECK:        mulr_q.w        $w27, $w1, $w20         # encoding: [0x7b,0x34,0x0e,0xdc]
     85 
     86                 fadd.w          $w28, $w19, $w28
     87                 fadd.d          $w13, $w2, $w29
     88                 fcaf.w          $w14, $w11, $w25
     89                 fcaf.d          $w1, $w1, $w19
     90                 fceq.w          $w1, $w23, $w16
     91                 fceq.d          $w0, $w8, $w16
     92                 fcle.w          $w16, $w9, $w24
     93                 fcle.d          $w27, $w14, $w1
     94                 fclt.w          $w28, $w8, $w8
     95                 fclt.d          $w30, $w25, $w11
     96                 fcne.w          $w2, $w18, $w23
     97                 fcne.d          $w14, $w20, $w15
     98                 fcor.w          $w10, $w18, $w25
     99                 fcor.d          $w17, $w25, $w11
    100                 fcueq.w         $w14, $w2, $w21
    101                 fcueq.d         $w29, $w3, $w7
    102                 fcule.w         $w17, $w5, $w3
    103                 fcule.d         $w31, $w1, $w30
    104                 fcult.w         $w6, $w25, $w9
    105                 fcult.d         $w27, $w8, $w17
    106                 fcun.w          $w4, $w20, $w8
    107                 fcun.d          $w29, $w11, $w3
    108                 fcune.w         $w13, $w18, $w19
    109                 fcune.d         $w16, $w26, $w21
    110                 fdiv.w          $w13, $w24, $w2
    111                 fdiv.d          $w19, $w4, $w25
    112                 fexdo.h         $w8, $w0, $w16
    113                 fexdo.w         $w0, $w13, $w27
    114                 fexp2.w         $w17, $w0, $w3
    115                 fexp2.d         $w22, $w0, $w10
    116                 fmadd.w         $w29, $w6, $w23
    117                 fmadd.d         $w11, $w28, $w21
    118                 fmax.w          $w0, $w23, $w13
    119                 fmax.d          $w26, $w18, $w8
    120                 fmax_a.w        $w10, $w16, $w10
    121                 fmax_a.d        $w30, $w9, $w22
    122                 fmin.w          $w24, $w1, $w30
    123                 fmin.d          $w27, $w27, $w10
    124                 fmin_a.w        $w10, $w29, $w20
    125                 fmin_a.d        $w13, $w30, $w24
    126                 fmsub.w         $w17, $w25, $w0
    127                 fmsub.d         $w8, $w18, $w16
    128                 fmul.w          $w3, $w15, $w15
    129                 fmul.d          $w9, $w30, $w10
    130                 fsaf.w          $w25, $w5, $w10
    131                 fsaf.d          $w25, $w3, $w29
    132                 fseq.w          $w11, $w17, $w13
    133                 fseq.d          $w29, $w0, $w31
    134                 fsle.w          $w30, $w31, $w31
    135                 fsle.d          $w18, $w23, $w24
    136                 fslt.w          $w12, $w5, $w6
    137                 fslt.d          $w16, $w26, $w21
    138                 fsne.w          $w30, $w1, $w12
    139                 fsne.d          $w14, $w13, $w23
    140                 fsor.w          $w27, $w13, $w27
    141                 fsor.d          $w12, $w24, $w11
    142                 fsub.w          $w31, $w26, $w1
    143                 fsub.d          $w19, $w17, $w27
    144                 fsueq.w         $w16, $w24, $w25
    145                 fsueq.d         $w18, $w14, $w14
    146                 fsule.w         $w23, $w30, $w13
    147                 fsule.d         $w2, $w11, $w26
    148                 fsult.w         $w11, $w26, $w22
    149                 fsult.d         $w6, $w23, $w30
    150                 fsun.w          $w3, $w18, $w28
    151                 fsun.d          $w18, $w11, $w19
    152                 fsune.w         $w16, $w31, $w2
    153                 fsune.d         $w3, $w26, $w17
    154                 ftq.h           $w16, $w4, $w24
    155                 ftq.w           $w5, $w5, $w25
    156                 madd_q.h        $w16, $w20, $w10
    157                 madd_q.w        $w28, $w2, $w9
    158                 maddr_q.h       $w8, $w18, $w9
    159                 maddr_q.w       $w29, $w12, $w16
    160                 msub_q.h        $w24, $w26, $w10
    161                 msub_q.w        $w13, $w30, $w28
    162                 msubr_q.h       $w12, $w21, $w11
    163                 msubr_q.w       $w1, $w14, $w20
    164                 mul_q.h         $w6, $w16, $w30
    165                 mul_q.w         $w16, $w1, $w4
    166                 mulr_q.h        $w6, $w20, $w19
    167                 mulr_q.w        $w27, $w1, $w20
    168