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