1# RUN: llvm-mc -show-encoding -triple=mips-unknown-unknown -mattr=dspr2 %s | FileCheck %s
2#
3# CHECK:   .text
4# CHECK:   precrq.qb.ph      $16, $17, $18   # encoding: [0x7e,0x32,0x83,0x11]
5# CHECK:   precrq.ph.w       $17, $18, $19   # encoding: [0x7e,0x53,0x8d,0x11]
6# CHECK:   precrq_rs.ph.w    $18, $19, $20   # encoding: [0x7e,0x74,0x95,0x51]
7# CHECK:   precrqu_s.qb.ph   $19, $20, $21   # encoding: [0x7e,0x95,0x9b,0xd1]
8# CHECK:   preceq.w.phl      $20, $21        # encoding: [0x7c,0x15,0xa3,0x12]
9# CHECK:   preceq.w.phr      $21, $22        # encoding: [0x7c,0x16,0xab,0x52]
10# CHECK:   precequ.ph.qbl    $22, $23        # encoding: [0x7c,0x17,0xb1,0x12]
11# CHECK:   precequ.ph.qbr    $23, $24        # encoding: [0x7c,0x18,0xb9,0x52]
12# CHECK:   precequ.ph.qbla   $24, $25        # encoding: [0x7c,0x19,0xc1,0x92]
13# CHECK:   precequ.ph.qbra   $25, $26        # encoding: [0x7c,0x1a,0xc9,0xd2]
14# CHECK:   preceu.ph.qbl     $26, $27        # encoding: [0x7c,0x1b,0xd7,0x12]
15# CHECK:   preceu.ph.qbr     $27, $gp        # encoding: [0x7c,0x1c,0xdf,0x52]
16# CHECK:   preceu.ph.qbla    $gp, $sp        # encoding: [0x7c,0x1d,0xe7,0x92]
17# CHECK:   preceu.ph.qbra    $sp, $fp        # encoding: [0x7c,0x1e,0xef,0xd2]
18
19# CHECK:   precr.qb.ph       $23, $24, $25   # encoding: [0x7f,0x19,0xbb,0x51]
20# CHECK:   precr_sra.ph.w    $24, $25, 0     # encoding: [0x7f,0x38,0x07,0x91]
21# CHECK:   precr_sra.ph.w    $24, $25, 31    # encoding: [0x7f,0x38,0xff,0x91]
22# CHECK:   precr_sra_r.ph.w  $25, $26, 0     # encoding: [0x7f,0x59,0x07,0xd1]
23# CHECK:   precr_sra_r.ph.w  $25, $26, 31    # encoding: [0x7f,0x59,0xff,0xd1]
24
25# CHECK:   lbux $10, $20($26)                # encoding: [0x7f,0x54,0x51,0x8a]
26# CHECK:   lhx  $11, $21($27)                # encoding: [0x7f,0x75,0x59,0x0a]
27# CHECK:   lwx  $12, $22($gp)                # encoding: [0x7f,0x96,0x60,0x0a]
28
29# CHECK:    mult $ac3, $2, $3               # encoding: [0x00,0x43,0x18,0x18]
30# CHECK:    multu $ac2, $4, $5              # encoding: [0x00,0x85,0x10,0x19]
31# CHECK:    madd $ac1, $6, $7               # encoding: [0x70,0xc7,0x08,0x00]
32# CHECK:    maddu $ac0, $8, $9              # encoding: [0x71,0x09,0x00,0x01]
33# CHECK:    msub $ac3, $10, $11             # encoding: [0x71,0x4b,0x18,0x04]
34# CHECK:    msubu $ac2, $12, $13            # encoding: [0x71,0x8d,0x10,0x05]
35# CHECK:    mfhi $14, $ac1                  # encoding: [0x00,0x20,0x70,0x10]
36# CHECK:    mflo $15, $ac0                  # encoding: [0x00,0x00,0x78,0x12]
37# CHECK:    mthi $16, $ac3                  # encoding: [0x02,0x00,0x18,0x11]
38# CHECK:    mtlo $17, $ac2                  # encoding: [0x02,0x20,0x10,0x13]
39
40# CHECK:    mult $2, $3                      # encoding: [0x00,0x43,0x00,0x18]
41# CHECK:    multu $4, $5                     # encoding: [0x00,0x85,0x00,0x19]
42# CHECK:    madd $6, $7                      # encoding: [0x70,0xc7,0x00,0x00]
43# CHECK:    maddu $8, $9                     # encoding: [0x71,0x09,0x00,0x01]
44# CHECK:    msub $10, $11                    # encoding: [0x71,0x4b,0x00,0x04]
45# CHECK:    msubu $12, $13                   # encoding: [0x71,0x8d,0x00,0x05]
46# CHECK:    mfhi $14                         # encoding: [0x00,0x00,0x70,0x10]
47# CHECK:    mflo $15                         # encoding: [0x00,0x00,0x78,0x12]
48# CHECK:    mthi $16                         # encoding: [0x02,0x00,0x00,0x11]
49# CHECK:    mtlo $17                         # encoding: [0x02,0x20,0x00,0x13]
50
51
52  precrq.qb.ph    $16,$17,$18
53  precrq.ph.w     $17,$18,$19
54  precrq_rs.ph.w  $18,$19,$20
55  precrqu_s.qb.ph $19,$20,$21
56  preceq.w.phl    $20,$21
57  preceq.w.phr    $21,$22
58  precequ.ph.qbl  $22,$23
59  precequ.ph.qbr  $23,$24
60  precequ.ph.qbla $24,$25
61  precequ.ph.qbra $25,$26
62  preceu.ph.qbl   $26,$27
63  preceu.ph.qbr   $27,$28
64  preceu.ph.qbla  $28,$29
65  preceu.ph.qbra  $29,$30
66
67  precr.qb.ph     $23,$24,$25
68  precr_sra.ph.w  $24,$25,0
69  precr_sra.ph.w  $24,$25,31
70  precr_sra_r.ph.w  $25,$26,0
71  precr_sra_r.ph.w  $25,$26,31
72
73  lbux $10, $s4($26)
74  lhx  $11, $s5($27)
75  lwx  $12, $s6($28)
76
77  mult $ac3, $2, $3
78  multu $ac2, $4, $5
79  madd $ac1, $6, $7
80  maddu $ac0, $8, $9
81  msub $ac3, $10, $11
82  msubu $ac2, $12, $13
83  mfhi $14, $ac1
84  mflo $15, $ac0
85  mthi $16, $ac3
86  mtlo $17, $ac2
87
88  mult $2, $3
89  multu $4, $5
90  madd $6, $7
91  maddu $8, $9
92  msub $10, $11
93  msubu $12, $13
94  mfhi $14
95  mflo $15
96  mthi $16
97  mtlo $17
98