1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -show-encoding | FileCheck %s -check-prefix=CHECK-32
2 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -show-encoding | FileCheck %s -check-prefix=CHECK-32R
3 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r3 -show-encoding | FileCheck %s -check-prefix=CHECK-32R
4 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r5 -show-encoding | FileCheck %s -check-prefix=CHECK-32R
5 # RUN: llvm-mc %s -arch=mips -mcpu=mips32r6 -show-encoding | FileCheck %s -check-prefix=CHECK-32R
10 # CHECK-32: negu $1, $5 # encoding: [0x00,0x05,0x08,0x23]
11 # CHECK-32: srlv $1, $4, $1 # encoding: [0x00,0x24,0x08,0x06]
12 # CHECK-32: sllv $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x04]
13 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
14 # CHECK-32R: negu $1, $5 # encoding: [0x00,0x05,0x08,0x23]
15 # CHECK-32R: rotrv $4, $4, $1 # encoding: [0x00,0x24,0x20,0x46]
17 # CHECK-32: negu $1, $6 # encoding: [0x00,0x06,0x08,0x23]
18 # CHECK-32: srlv $1, $5, $1 # encoding: [0x00,0x25,0x08,0x06]
19 # CHECK-32: sllv $4, $5, $6 # encoding: [0x00,0xc5,0x20,0x04]
20 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
21 # CHECK-32R: negu $4, $6 # encoding: [0x00,0x06,0x20,0x23]
22 # CHECK-32R: rotrv $4, $5, $4 # encoding: [0x00,0x85,0x20,0x46]
24 # CHECK-32: srl $4, $4, 0 # encoding: [0x00,0x04,0x20,0x02]
25 # CHECK-32R: rotr $4, $4, 0 # encoding: [0x00,0x24,0x20,0x02]
27 # CHECK-32: srl $4, $5, 0 # encoding: [0x00,0x05,0x20,0x02]
28 # CHECK-32R: rotr $4, $5, 0 # encoding: [0x00,0x25,0x20,0x02]
30 # CHECK-32: sll $1, $4, 1 # encoding: [0x00,0x04,0x08,0x40]
31 # CHECK-32: srl $4, $4, 31 # encoding: [0x00,0x04,0x27,0xc2]
32 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
33 # CHECK-32R: rotr $4, $4, 31 # encoding: [0x00,0x24,0x27,0xc2]
35 # CHECK-32: sll $1, $5, 1 # encoding: [0x00,0x05,0x08,0x40]
36 # CHECK-32: srl $4, $5, 31 # encoding: [0x00,0x05,0x27,0xc2]
37 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
38 # CHECK-32R: rotr $4, $5, 31 # encoding: [0x00,0x25,0x27,0xc2]
40 # CHECK-32: sll $1, $4, 2 # encoding: [0x00,0x04,0x08,0x80]
41 # CHECK-32: srl $4, $4, 30 # encoding: [0x00,0x04,0x27,0x82]
42 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
43 # CHECK-32R: rotr $4, $4, 30 # encoding: [0x00,0x24,0x27,0x82]
45 # CHECK-32: sll $1, $5, 2 # encoding: [0x00,0x05,0x08,0x80]
46 # CHECK-32: srl $4, $5, 30 # encoding: [0x00,0x05,0x27,0x82]
47 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
48 # CHECK-32R: rotr $4, $5, 30 # encoding: [0x00,0x25,0x27,0x82]
51 # CHECK-32: negu $1, $5 # encoding: [0x00,0x05,0x08,0x23]
52 # CHECK-32: sllv $1, $4, $1 # encoding: [0x00,0x24,0x08,0x04]
53 # CHECK-32: srlv $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x06]
54 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
55 # CHECK-32R: rotrv $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x46]
57 # CHECK-32: negu $1, $6 # encoding: [0x00,0x06,0x08,0x23]
58 # CHECK-32: sllv $1, $5, $1 # encoding: [0x00,0x25,0x08,0x04]
59 # CHECK-32: srlv $4, $5, $6 # encoding: [0x00,0xc5,0x20,0x06]
60 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
61 # CHECK-32R: rotrv $4, $5, $6 # encoding: [0x00,0xc5,0x20,0x46]
63 # CHECK-32: srl $4, $4, 0 # encoding: [0x00,0x04,0x20,0x02]
64 # CHECK-32R: rotr $4, $4, 0 # encoding: [0x00,0x24,0x20,0x02]
66 # CHECK-32: srl $4, $5, 0 # encoding: [0x00,0x05,0x20,0x02]
67 # CHECK-32R: rotr $4, $5, 0 # encoding: [0x00,0x25,0x20,0x02]
69 # CHECK-32: srl $1, $4, 1 # encoding: [0x00,0x04,0x08,0x42]
70 # CHECK-32: sll $4, $4, 31 # encoding: [0x00,0x04,0x27,0xc0]
71 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
72 # CHECK-32R: rotr $4, $4, 1 # encoding: [0x00,0x24,0x20,0x42]
74 # CHECK-32: srl $1, $5, 1 # encoding: [0x00,0x05,0x08,0x42]
75 # CHECK-32: sll $4, $5, 31 # encoding: [0x00,0x05,0x27,0xc0]
76 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
77 # CHECK-32R: rotr $4, $5, 1 # encoding: [0x00,0x25,0x20,0x42]
79 # CHECK-32: srl $1, $4, 2 # encoding: [0x00,0x04,0x08,0x82]
80 # CHECK-32: sll $4, $4, 30 # encoding: [0x00,0x04,0x27,0x80]
81 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
82 # CHECK-32R: rotr $4, $4, 2 # encoding: [0x00,0x24,0x20,0x82]
84 # CHECK-32: srl $1, $5, 2 # encoding: [0x00,0x05,0x08,0x82]
85 # CHECK-32: sll $4, $5, 30 # encoding: [0x00,0x05,0x27,0x80]
86 # CHECK-32: or $4, $4, $1 # encoding: [0x00,0x81,0x20,0x25]
87 # CHECK-32R: rotr $4, $5, 2 # encoding: [0x00,0x25,0x20,0x82]