Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode
[oota-llvm.git] / test / MC / Mips / msa / test_2rf.s
1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
2 #
3 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -filetype=obj -o - | \
4 # RUN: llvm-objdump -d -arch=mips -mattr=+msa - | \
5 # RUN: FileCheck %s -check-prefix=CHECKOBJDUMP
6 #
7 # CHECK:        fclass.w        $w26, $w12              # encoding: [0x7b,0x20,0x66,0x9e]
8 # CHECK:        fclass.d        $w24, $w17              # encoding: [0x7b,0x21,0x8e,0x1e]
9 # CHECK:        fexupl.w        $w8, $w0                # encoding: [0x7b,0x30,0x02,0x1e]
10 # CHECK:        fexupl.d        $w17, $w29              # encoding: [0x7b,0x31,0xec,0x5e]
11 # CHECK:        fexupr.w        $w13, $w4               # encoding: [0x7b,0x32,0x23,0x5e]
12 # CHECK:        fexupr.d        $w5, $w2                # encoding: [0x7b,0x33,0x11,0x5e]
13 # CHECK:        ffint_s.w       $w20, $w29              # encoding: [0x7b,0x3c,0xed,0x1e]
14 # CHECK:        ffint_s.d       $w12, $w15              # encoding: [0x7b,0x3d,0x7b,0x1e]
15 # CHECK:        ffint_u.w       $w7, $w27               # encoding: [0x7b,0x3e,0xd9,0xde]
16 # CHECK:        ffint_u.d       $w19, $w16              # encoding: [0x7b,0x3f,0x84,0xde]
17 # CHECK:        ffql.w          $w31, $w13              # encoding: [0x7b,0x34,0x6f,0xde]
18 # CHECK:        ffql.d          $w12, $w13              # encoding: [0x7b,0x35,0x6b,0x1e]
19 # CHECK:        ffqr.w          $w27, $w30              # encoding: [0x7b,0x36,0xf6,0xde]
20 # CHECK:        ffqr.d          $w30, $w15              # encoding: [0x7b,0x37,0x7f,0x9e]
21 # CHECK:        flog2.w         $w25, $w31              # encoding: [0x7b,0x2e,0xfe,0x5e]
22 # CHECK:        flog2.d         $w18, $w10              # encoding: [0x7b,0x2f,0x54,0x9e]
23 # CHECK:        frint.w         $w7, $w15               # encoding: [0x7b,0x2c,0x79,0xde]
24 # CHECK:        frint.d         $w21, $w22              # encoding: [0x7b,0x2d,0xb5,0x5e]
25 # CHECK:        frcp.w          $w19, $w0               # encoding: [0x7b,0x2a,0x04,0xde]
26 # CHECK:        frcp.d          $w4, $w14               # encoding: [0x7b,0x2b,0x71,0x1e]
27 # CHECK:        frsqrt.w        $w12, $w17              # encoding: [0x7b,0x28,0x8b,0x1e]
28 # CHECK:        frsqrt.d        $w23, $w11              # encoding: [0x7b,0x29,0x5d,0xde]
29 # CHECK:        fsqrt.w         $w0, $w11               # encoding: [0x7b,0x26,0x58,0x1e]
30 # CHECK:        fsqrt.d         $w15, $w12              # encoding: [0x7b,0x27,0x63,0xde]
31 # CHECK:        ftint_s.w       $w30, $w5               # encoding: [0x7b,0x38,0x2f,0x9e]
32 # CHECK:        ftint_s.d       $w5, $w23               # encoding: [0x7b,0x39,0xb9,0x5e]
33 # CHECK:        ftint_u.w       $w20, $w14              # encoding: [0x7b,0x3a,0x75,0x1e]
34 # CHECK:        ftint_u.d       $w23, $w21              # encoding: [0x7b,0x3b,0xad,0xde]
35 # CHECK:        ftrunc_s.w      $w29, $w17              # encoding: [0x7b,0x22,0x8f,0x5e]
36 # CHECK:        ftrunc_s.d      $w12, $w27              # encoding: [0x7b,0x23,0xdb,0x1e]
37 # CHECK:        ftrunc_u.w      $w17, $w15              # encoding: [0x7b,0x24,0x7c,0x5e]
38 # CHECK:        ftrunc_u.d      $w5, $w27               # encoding: [0x7b,0x25,0xd9,0x5e]
39
40 # CHECKOBJDUMP:        fclass.w        $w26, $w12
41 # CHECKOBJDUMP:        fclass.d        $w24, $w17
42 # CHECKOBJDUMP:        fexupl.w        $w8, $w0
43 # CHECKOBJDUMP:        fexupl.d        $w17, $w29
44 # CHECKOBJDUMP:        fexupr.w        $w13, $w4
45 # CHECKOBJDUMP:        fexupr.d        $w5, $w2
46 # CHECKOBJDUMP:        ffint_s.w       $w20, $w29
47 # CHECKOBJDUMP:        ffint_s.d       $w12, $w15
48 # CHECKOBJDUMP:        ffint_u.w       $w7, $w27
49 # CHECKOBJDUMP:        ffint_u.d       $w19, $w16
50 # CHECKOBJDUMP:        ffql.w          $w31, $w13
51 # CHECKOBJDUMP:        ffql.d          $w12, $w13
52 # CHECKOBJDUMP:        ffqr.w          $w27, $w30
53 # CHECKOBJDUMP:        ffqr.d          $w30, $w15
54 # CHECKOBJDUMP:        flog2.w         $w25, $w31
55 # CHECKOBJDUMP:        flog2.d         $w18, $w10
56 # CHECKOBJDUMP:        frint.w         $w7, $w15
57 # CHECKOBJDUMP:        frint.d         $w21, $w22
58 # CHECKOBJDUMP:        frcp.w          $w19, $w0
59 # CHECKOBJDUMP:        frcp.d          $w4, $w14
60 # CHECKOBJDUMP:        frsqrt.w        $w12, $w17
61 # CHECKOBJDUMP:        frsqrt.d        $w23, $w11
62 # CHECKOBJDUMP:        fsqrt.w         $w0, $w11
63 # CHECKOBJDUMP:        fsqrt.d         $w15, $w12
64 # CHECKOBJDUMP:        ftint_s.w       $w30, $w5
65 # CHECKOBJDUMP:        ftint_s.d       $w5, $w23
66 # CHECKOBJDUMP:        ftint_u.w       $w20, $w14
67 # CHECKOBJDUMP:        ftint_u.d       $w23, $w21
68 # CHECKOBJDUMP:        ftrunc_s.w      $w29, $w17
69 # CHECKOBJDUMP:        ftrunc_s.d      $w12, $w27
70 # CHECKOBJDUMP:        ftrunc_u.w      $w17, $w15
71 # CHECKOBJDUMP:        ftrunc_u.d      $w5, $w27
72
73                 fclass.w        $w26, $w12
74                 fclass.d        $w24, $w17
75                 fexupl.w        $w8, $w0
76                 fexupl.d        $w17, $w29
77                 fexupr.w        $w13, $w4
78                 fexupr.d        $w5, $w2
79                 ffint_s.w       $w20, $w29
80                 ffint_s.d       $w12, $w15
81                 ffint_u.w       $w7, $w27
82                 ffint_u.d       $w19, $w16
83                 ffql.w          $w31, $w13
84                 ffql.d          $w12, $w13
85                 ffqr.w          $w27, $w30
86                 ffqr.d          $w30, $w15
87                 flog2.w         $w25, $w31
88                 flog2.d         $w18, $w10
89                 frint.w         $w7, $w15
90                 frint.d         $w21, $w22
91                 frcp.w          $w19, $w0
92                 frcp.d          $w4, $w14
93                 frsqrt.w        $w12, $w17
94                 frsqrt.d        $w23, $w11
95                 fsqrt.w         $w0, $w11
96                 fsqrt.d         $w15, $w12
97                 ftint_s.w       $w30, $w5
98                 ftint_s.d       $w5, $w23
99                 ftint_u.w       $w20, $w14
100                 ftint_u.d       $w23, $w21
101                 ftrunc_s.w      $w29, $w17
102                 ftrunc_s.d      $w12, $w27
103                 ftrunc_u.w      $w17, $w15
104                 ftrunc_u.d      $w5, $w27