5a9e8ea9db39d9f1e98fa0915ae670bb2dd5cce3
[oota-llvm.git] / test / MC / Mips / mips-dsp-instructions.s
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