1# RUN: llvm-mc %s -triple=csky -show-encoding -csky-no-aliases -enable-csky-asm-compressed-inst=true -mattr=+e1 \ 2# RUN: -mattr=+e2 -mattr=+2e3 -mattr=+btst16 | FileCheck -check-prefixes=CHECK-ASM %s 3 4# CHECK-ASM: addu16 a0, a1 5# CHECK-ASM: encoding: [0x04,0x60] 6addu32 a0, a0, a1 7 8# CHECK-ASM: addu16 a0, a1 9# CHECK-ASM: encoding: [0x04,0x60] 10addu32 a0, a1, a0 11 12# CHECK-ASM: addu16 a0, a1, a2 13# CHECK-ASM: encoding: [0x08,0x59] 14addu32 a0, a1, a2 15 16# CHECK-ASM: subu16 a0, a1 17# CHECK-ASM: encoding: [0x06,0x60] 18subu32 a0, a0, a1 19 20# CHECK-ASM: subu16 a0, a1, a2 21# CHECK-ASM: encoding: [0x09,0x59] 22subu32 a0, a1, a2 23 24# CHECK-ASM: addc16 a0, a1 25# CHECK-ASM: encoding: [0x05,0x60] 26addc32 a0, a0, a1 27 28# CHECK-ASM: subc16 a0, a1 29# CHECK-ASM: encoding: [0x07,0x60] 30subc32 a0, a0, a1 31 32# CHECK-ASM: addi16 a0, a1, 1 33# CHECK-ASM: encoding: [0x02,0x59] 34addi32 a0, a1, 1 35 36# CHECK-ASM: subi16 a0, a1, 1 37# CHECK-ASM: encoding: [0x03,0x59] 38subi32 a0, a1, 1 39 40# CHECK-ASM: addi16 a0, 10 41# CHECK-ASM: encoding: [0x09,0x20] 42addi32 a0, a0, 10 43 44# CHECK-ASM: subi16 a0, 10 45# CHECK-ASM: encoding: [0x09,0x28] 46subi32 a0, a0, 10 47 48# CHECK-ASM: addi16 sp, sp, 4 49# CHECK-ASM: encoding: [0x01,0x14] 50addi32 sp, sp, 4 51 52# CHECK-ASM: subi16 sp, sp, 4 53# CHECK-ASM: encoding: [0x21,0x14] 54subi32 sp, sp, 4 55 56# CHECK-ASM: addi16 a0, sp, 4 57# CHECK-ASM: encoding: [0x01,0x18] 58addi32 a0, sp, 4 59 60# CHECK-ASM: mult16 a0, a1 61# CHECK-ASM: encoding: [0x04,0x7c] 62mult32 a0, a0, a1 63 64# CHECK-ASM: mult16 a0, a1 65# CHECK-ASM: encoding: [0x04,0x7c] 66mult32 a0, a1, a0 67 68# CHECK-ASM: and16 a0, a1 69# CHECK-ASM: encoding: [0x04,0x68] 70and32 a0, a0, a1 71 72# CHECK-ASM: and16 a0, a1 73# CHECK-ASM: encoding: [0x04,0x68] 74and32 a0, a1, a0 75 76# CHECK-ASM: or16 a0, a1 77# CHECK-ASM: encoding: [0x04,0x6c] 78or32 a0, a0, a1 79 80# CHECK-ASM: or16 a0, a1 81# CHECK-ASM: encoding: [0x04,0x6c] 82or32 a0, a1, a0 83 84# CHECK-ASM: xor16 a0, a1 85# CHECK-ASM: encoding: [0x05,0x6c] 86xor32 a0, a0, a1 87 88# CHECK-ASM: xor16 a0, a1 89# CHECK-ASM: encoding: [0x05,0x6c] 90xor32 a0, a1, a0 91 92# CHECK-ASM: andn16 a0, a1 93# CHECK-ASM: encoding: [0x05,0x68] 94andn32 a0, a0, a1 95 96# CHECK-ASM: nor16 a0, a1 97# CHECK-ASM: encoding: [0x06,0x6c] 98nor32 a0, a0, a1 99 100# CHECK-ASM: lsl16 a0, a1 101# CHECK-ASM: encoding: [0x04,0x70] 102lsl32 a0, a0, a1 103 104# CHECK-ASM: lsr16 a0, a1 105# CHECK-ASM: encoding: [0x05,0x70] 106lsr32 a0, a0, a1 107 108# CHECK-ASM: asr16 a0, a1 109# CHECK-ASM: encoding: [0x06,0x70] 110asr32 a0, a0, a1 111 112# CHECK-ASM: rotl16 a0, a1 113# CHECK-ASM: encoding: [0x07,0x70] 114rotl32 a0, a0, a1 115 116# CHECK-ASM: revb16 a0, a1 117# CHECK-ASM: encoding: [0x06,0x78] 118revb32 a0, a1 119 120# CHECK-ASM: lsli16 a0, a1, 2 121# CHECK-ASM: encoding: [0x02,0x41] 122lsli32 a0, a1, 2 123 124# CHECK-ASM: lsri16 a0, a1, 2 125# CHECK-ASM: encoding: [0x02,0x49] 126lsri32 a0, a1, 2 127 128# CHECK-ASM: asri16 a0, a1, 2 129# CHECK-ASM: encoding: [0x02,0x51] 130asri32 a0, a1, 2 131 132# CHECK-ASM: cmphs16 a0, a1 133# CHECK-ASM: encoding: [0x40,0x64] 134cmphs32 a0, a1 135 136# CHECK-ASM: cmplt16 a0, a1 137# CHECK-ASM: encoding: [0x41,0x64] 138cmplt32 a0, a1 139 140# CHECK-ASM: cmpne16 a0, a1 141# CHECK-ASM: encoding: [0x42,0x64] 142cmpne32 a0, a1 143 144# CHECK-ASM: cmphsi16 a0, 1 145# CHECK-ASM: encoding: [0x00,0x38] 146cmphsi32 a0, 1 147 148# CHECK-ASM: cmplti16 a0, 1 149# CHECK-ASM: encoding: [0x20,0x38] 150cmplti32 a0, 1 151 152# CHECK-ASM: cmpnei16 a0, 1 153# CHECK-ASM: encoding: [0x41,0x38] 154cmpnei32 a0, 1 155 156# CHECK-ASM: jsr16 a0 157# CHECK-ASM: encoding: [0xc1,0x7b] 158jsr32 a0 159 160# CHECK-ASM: mvcv16 a0 161# CHECK-ASM: encoding: [0x03,0x64] 162mvcv32 a0 163 164# CHECK-ASM: movi16 a0, 1 165# CHECK-ASM: encoding: [0x01,0x30] 166movi32 a0, 1 167 168# CHECK-ASM: ld16.b a0, (a1, 1) 169# CHECK-ASM: encoding: [0x01,0x81] 170ld32.b a0, (a1, 1) 171 172# CHECK-ASM: ld16.h a0, (a1, 2) 173# CHECK-ASM: encoding: [0x01,0x89] 174ld32.h a0, (a1, 2) 175 176# CHECK-ASM: ld16.w a0, (a1, 4) 177# CHECK-ASM: encoding: [0x01,0x91] 178ld32.w a0, (a1, 4) 179 180# CHECK-ASM: ld16.w a0, (sp, 4) 181# CHECK-ASM: encoding: [0x01,0x98] 182ld32.w a0, (sp, 4) 183 184# CHECK-ASM: st16.b a0, (a1, 1) 185# CHECK-ASM: encoding: [0x01,0xa1] 186st32.b a0, (a1, 1) 187 188# CHECK-ASM: st16.h a0, (a1, 2) 189# CHECK-ASM: encoding: [0x01,0xa9] 190st32.h a0, (a1, 2) 191 192# CHECK-ASM: st16.w a0, (a1, 4) 193# CHECK-ASM: encoding: [0x01,0xb1] 194st32.w a0, (a1, 4) 195 196# CHECK-ASM: st16.w a0, (sp, 4) 197# CHECK-ASM: encoding: [0x01,0xb8] 198st32.w a0, (sp, 4) 199 200# CHECK-ASM: btsti16 a0, 1 201# CHECK-ASM: encoding: [0xc1,0x38] 202btsti32 a0, 1 203 204# CHECK-ASM: bclri16 a0, 1 205# CHECK-ASM: encoding: [0x81,0x38] 206bclri32 a0, a0, 1 207 208# CHECK-ASM: bseti16 a0, 1 209# CHECK-ASM: encoding: [0xa1,0x38] 210bseti32 a0, a0, 1 211