1 2# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s 3# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s 4 5# Vector facility 6 7# Vector storage access instructions 8 9# CHECK-BE: lvebx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x0e] 10# CHECK-LE: lvebx 2, 3, 4 # encoding: [0x0e,0x20,0x43,0x7c] 11 lvebx 2, 3, 4 12# CHECK-BE: lvehx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x4e] 13# CHECK-LE: lvehx 2, 3, 4 # encoding: [0x4e,0x20,0x43,0x7c] 14 lvehx 2, 3, 4 15# CHECK-BE: lvewx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x8e] 16# CHECK-LE: lvewx 2, 3, 4 # encoding: [0x8e,0x20,0x43,0x7c] 17 lvewx 2, 3, 4 18# CHECK-BE: lvx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0xce] 19# CHECK-LE: lvx 2, 3, 4 # encoding: [0xce,0x20,0x43,0x7c] 20 lvx 2, 3, 4 21# CHECK-BE: lvxl 2, 3, 4 # encoding: [0x7c,0x43,0x22,0xce] 22# CHECK-LE: lvxl 2, 3, 4 # encoding: [0xce,0x22,0x43,0x7c] 23 lvxl 2, 3, 4 24# CHECK-BE: stvebx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x0e] 25# CHECK-LE: stvebx 2, 3, 4 # encoding: [0x0e,0x21,0x43,0x7c] 26 stvebx 2, 3, 4 27# CHECK-BE: stvehx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x4e] 28# CHECK-LE: stvehx 2, 3, 4 # encoding: [0x4e,0x21,0x43,0x7c] 29 stvehx 2, 3, 4 30# CHECK-BE: stvewx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x8e] 31# CHECK-LE: stvewx 2, 3, 4 # encoding: [0x8e,0x21,0x43,0x7c] 32 stvewx 2, 3, 4 33# CHECK-BE: stvx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xce] 34# CHECK-LE: stvx 2, 3, 4 # encoding: [0xce,0x21,0x43,0x7c] 35 stvx 2, 3, 4 36# CHECK-BE: stvxl 2, 3, 4 # encoding: [0x7c,0x43,0x23,0xce] 37# CHECK-LE: stvxl 2, 3, 4 # encoding: [0xce,0x23,0x43,0x7c] 38 stvxl 2, 3, 4 39# CHECK-BE: lvsl 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x0c] 40# CHECK-LE: lvsl 2, 3, 4 # encoding: [0x0c,0x20,0x43,0x7c] 41 lvsl 2, 3, 4 42# CHECK-BE: lvsr 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x4c] 43# CHECK-LE: lvsr 2, 3, 4 # encoding: [0x4c,0x20,0x43,0x7c] 44 lvsr 2, 3, 4 45 46# Vector permute and formatting instructions 47 48# CHECK-BE: vpkpx 2, 3, 4 # encoding: [0x10,0x43,0x23,0x0e] 49# CHECK-LE: vpkpx 2, 3, 4 # encoding: [0x0e,0x23,0x43,0x10] 50 vpkpx 2, 3, 4 51# CHECK-BE: vpkshss 2, 3, 4 # encoding: [0x10,0x43,0x21,0x8e] 52# CHECK-LE: vpkshss 2, 3, 4 # encoding: [0x8e,0x21,0x43,0x10] 53 vpkshss 2, 3, 4 54# CHECK-BE: vpkshus 2, 3, 4 # encoding: [0x10,0x43,0x21,0x0e] 55# CHECK-LE: vpkshus 2, 3, 4 # encoding: [0x0e,0x21,0x43,0x10] 56 vpkshus 2, 3, 4 57# CHECK-BE: vpkswss 2, 3, 4 # encoding: [0x10,0x43,0x21,0xce] 58# CHECK-LE: vpkswss 2, 3, 4 # encoding: [0xce,0x21,0x43,0x10] 59 vpkswss 2, 3, 4 60# CHECK-BE: vpkswus 2, 3, 4 # encoding: [0x10,0x43,0x21,0x4e] 61# CHECK-LE: vpkswus 2, 3, 4 # encoding: [0x4e,0x21,0x43,0x10] 62 vpkswus 2, 3, 4 63# CHECK-BE: vpkuhum 2, 3, 4 # encoding: [0x10,0x43,0x20,0x0e] 64# CHECK-LE: vpkuhum 2, 3, 4 # encoding: [0x0e,0x20,0x43,0x10] 65 vpkuhum 2, 3, 4 66# CHECK-BE: vpkuhus 2, 3, 4 # encoding: [0x10,0x43,0x20,0x8e] 67# CHECK-LE: vpkuhus 2, 3, 4 # encoding: [0x8e,0x20,0x43,0x10] 68 vpkuhus 2, 3, 4 69# CHECK-BE: vpkuwum 2, 3, 4 # encoding: [0x10,0x43,0x20,0x4e] 70# CHECK-LE: vpkuwum 2, 3, 4 # encoding: [0x4e,0x20,0x43,0x10] 71 vpkuwum 2, 3, 4 72# CHECK-BE: vpkuwus 2, 3, 4 # encoding: [0x10,0x43,0x20,0xce] 73# CHECK-LE: vpkuwus 2, 3, 4 # encoding: [0xce,0x20,0x43,0x10] 74 vpkuwus 2, 3, 4 75 76# CHECK-BE: vupkhpx 2, 3 # encoding: [0x10,0x40,0x1b,0x4e] 77# CHECK-LE: vupkhpx 2, 3 # encoding: [0x4e,0x1b,0x40,0x10] 78 vupkhpx 2, 3 79# CHECK-BE: vupkhsb 2, 3 # encoding: [0x10,0x40,0x1a,0x0e] 80# CHECK-LE: vupkhsb 2, 3 # encoding: [0x0e,0x1a,0x40,0x10] 81 vupkhsb 2, 3 82# CHECK-BE: vupkhsh 2, 3 # encoding: [0x10,0x40,0x1a,0x4e] 83# CHECK-LE: vupkhsh 2, 3 # encoding: [0x4e,0x1a,0x40,0x10] 84 vupkhsh 2, 3 85# CHECK-BE: vupklpx 2, 3 # encoding: [0x10,0x40,0x1b,0xce] 86# CHECK-LE: vupklpx 2, 3 # encoding: [0xce,0x1b,0x40,0x10] 87 vupklpx 2, 3 88# CHECK-BE: vupklsb 2, 3 # encoding: [0x10,0x40,0x1a,0x8e] 89# CHECK-LE: vupklsb 2, 3 # encoding: [0x8e,0x1a,0x40,0x10] 90 vupklsb 2, 3 91# CHECK-BE: vupklsh 2, 3 # encoding: [0x10,0x40,0x1a,0xce] 92# CHECK-LE: vupklsh 2, 3 # encoding: [0xce,0x1a,0x40,0x10] 93 vupklsh 2, 3 94 95# CHECK-BE: vmrghb 2, 3, 4 # encoding: [0x10,0x43,0x20,0x0c] 96# CHECK-LE: vmrghb 2, 3, 4 # encoding: [0x0c,0x20,0x43,0x10] 97 vmrghb 2, 3, 4 98# CHECK-BE: vmrghh 2, 3, 4 # encoding: [0x10,0x43,0x20,0x4c] 99# CHECK-LE: vmrghh 2, 3, 4 # encoding: [0x4c,0x20,0x43,0x10] 100 vmrghh 2, 3, 4 101# CHECK-BE: vmrghw 2, 3, 4 # encoding: [0x10,0x43,0x20,0x8c] 102# CHECK-LE: vmrghw 2, 3, 4 # encoding: [0x8c,0x20,0x43,0x10] 103 vmrghw 2, 3, 4 104# CHECK-BE: vmrglb 2, 3, 4 # encoding: [0x10,0x43,0x21,0x0c] 105# CHECK-LE: vmrglb 2, 3, 4 # encoding: [0x0c,0x21,0x43,0x10] 106 vmrglb 2, 3, 4 107# CHECK-BE: vmrglh 2, 3, 4 # encoding: [0x10,0x43,0x21,0x4c] 108# CHECK-LE: vmrglh 2, 3, 4 # encoding: [0x4c,0x21,0x43,0x10] 109 vmrglh 2, 3, 4 110# CHECK-BE: vmrglw 2, 3, 4 # encoding: [0x10,0x43,0x21,0x8c] 111# CHECK-LE: vmrglw 2, 3, 4 # encoding: [0x8c,0x21,0x43,0x10] 112 vmrglw 2, 3, 4 113 114# CHECK-BE: vspltb 2, 3, 1 # encoding: [0x10,0x41,0x1a,0x0c] 115# CHECK-LE: vspltb 2, 3, 1 # encoding: [0x0c,0x1a,0x41,0x10] 116 vspltb 2, 3, 1 117# CHECK-BE: vsplth 2, 3, 1 # encoding: [0x10,0x41,0x1a,0x4c] 118# CHECK-LE: vsplth 2, 3, 1 # encoding: [0x4c,0x1a,0x41,0x10] 119 vsplth 2, 3, 1 120# CHECK-BE: vspltw 2, 3, 1 # encoding: [0x10,0x41,0x1a,0x8c] 121# CHECK-LE: vspltw 2, 3, 1 # encoding: [0x8c,0x1a,0x41,0x10] 122 vspltw 2, 3, 1 123# CHECK-BE: vspltisb 2, 3 # encoding: [0x10,0x43,0x03,0x0c] 124# CHECK-LE: vspltisb 2, 3 # encoding: [0x0c,0x03,0x43,0x10] 125 vspltisb 2, 3 126# CHECK-BE: vspltish 2, 3 # encoding: [0x10,0x43,0x03,0x4c] 127# CHECK-LE: vspltish 2, 3 # encoding: [0x4c,0x03,0x43,0x10] 128 vspltish 2, 3 129# CHECK-BE: vspltisw 2, 3 # encoding: [0x10,0x43,0x03,0x8c] 130# CHECK-LE: vspltisw 2, 3 # encoding: [0x8c,0x03,0x43,0x10] 131 vspltisw 2, 3 132 133# CHECK-BE: vperm 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x6b] 134# CHECK-LE: vperm 2, 3, 4, 5 # encoding: [0x6b,0x21,0x43,0x10] 135 vperm 2, 3, 4, 5 136# CHECK-BE: vsel 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x6a] 137# CHECK-LE: vsel 2, 3, 4, 5 # encoding: [0x6a,0x21,0x43,0x10] 138 vsel 2, 3, 4, 5 139 140# CHECK-BE: vsl 2, 3, 4 # encoding: [0x10,0x43,0x21,0xc4] 141# CHECK-LE: vsl 2, 3, 4 # encoding: [0xc4,0x21,0x43,0x10] 142 vsl 2, 3, 4 143# CHECK-BE: vsldoi 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x6c] 144# CHECK-LE: vsldoi 2, 3, 4, 5 # encoding: [0x6c,0x21,0x43,0x10] 145 vsldoi 2, 3, 4, 5 146# CHECK-BE: vslo 2, 3, 4 # encoding: [0x10,0x43,0x24,0x0c] 147# CHECK-LE: vslo 2, 3, 4 # encoding: [0x0c,0x24,0x43,0x10] 148 vslo 2, 3, 4 149# CHECK-BE: vsr 2, 3, 4 # encoding: [0x10,0x43,0x22,0xc4] 150# CHECK-LE: vsr 2, 3, 4 # encoding: [0xc4,0x22,0x43,0x10] 151 vsr 2, 3, 4 152# CHECK-BE: vsro 2, 3, 4 # encoding: [0x10,0x43,0x24,0x4c] 153# CHECK-LE: vsro 2, 3, 4 # encoding: [0x4c,0x24,0x43,0x10] 154 vsro 2, 3, 4 155 156# Vector integer arithmetic instructions 157 158# CHECK-BE: vaddcuw 2, 3, 4 # encoding: [0x10,0x43,0x21,0x80] 159# CHECK-LE: vaddcuw 2, 3, 4 # encoding: [0x80,0x21,0x43,0x10] 160 vaddcuw 2, 3, 4 161# CHECK-BE: vaddsbs 2, 3, 4 # encoding: [0x10,0x43,0x23,0x00] 162# CHECK-LE: vaddsbs 2, 3, 4 # encoding: [0x00,0x23,0x43,0x10] 163 vaddsbs 2, 3, 4 164# CHECK-BE: vaddshs 2, 3, 4 # encoding: [0x10,0x43,0x23,0x40] 165# CHECK-LE: vaddshs 2, 3, 4 # encoding: [0x40,0x23,0x43,0x10] 166 vaddshs 2, 3, 4 167# CHECK-BE: vaddsws 2, 3, 4 # encoding: [0x10,0x43,0x23,0x80] 168# CHECK-LE: vaddsws 2, 3, 4 # encoding: [0x80,0x23,0x43,0x10] 169 vaddsws 2, 3, 4 170# CHECK-BE: vaddubm 2, 3, 4 # encoding: [0x10,0x43,0x20,0x00] 171# CHECK-LE: vaddubm 2, 3, 4 # encoding: [0x00,0x20,0x43,0x10] 172 vaddubm 2, 3, 4 173# CHECK-BE: vadduhm 2, 3, 4 # encoding: [0x10,0x43,0x20,0x40] 174# CHECK-LE: vadduhm 2, 3, 4 # encoding: [0x40,0x20,0x43,0x10] 175 vadduhm 2, 3, 4 176# CHECK-BE: vadduwm 2, 3, 4 # encoding: [0x10,0x43,0x20,0x80] 177# CHECK-LE: vadduwm 2, 3, 4 # encoding: [0x80,0x20,0x43,0x10] 178 vadduwm 2, 3, 4 179# CHECK-BE: vaddubs 2, 3, 4 # encoding: [0x10,0x43,0x22,0x00] 180# CHECK-LE: vaddubs 2, 3, 4 # encoding: [0x00,0x22,0x43,0x10] 181 vaddubs 2, 3, 4 182# CHECK-BE: vadduhs 2, 3, 4 # encoding: [0x10,0x43,0x22,0x40] 183# CHECK-LE: vadduhs 2, 3, 4 # encoding: [0x40,0x22,0x43,0x10] 184 vadduhs 2, 3, 4 185# CHECK-BE: vadduws 2, 3, 4 # encoding: [0x10,0x43,0x22,0x80] 186# CHECK-LE: vadduws 2, 3, 4 # encoding: [0x80,0x22,0x43,0x10] 187 vadduws 2, 3, 4 188 189# CHECK-BE: vsubcuw 2, 3, 4 # encoding: [0x10,0x43,0x25,0x80] 190# CHECK-LE: vsubcuw 2, 3, 4 # encoding: [0x80,0x25,0x43,0x10] 191 vsubcuw 2, 3, 4 192# CHECK-BE: vsubsbs 2, 3, 4 # encoding: [0x10,0x43,0x27,0x00] 193# CHECK-LE: vsubsbs 2, 3, 4 # encoding: [0x00,0x27,0x43,0x10] 194 vsubsbs 2, 3, 4 195# CHECK-BE: vsubshs 2, 3, 4 # encoding: [0x10,0x43,0x27,0x40] 196# CHECK-LE: vsubshs 2, 3, 4 # encoding: [0x40,0x27,0x43,0x10] 197 vsubshs 2, 3, 4 198# CHECK-BE: vsubsws 2, 3, 4 # encoding: [0x10,0x43,0x27,0x80] 199# CHECK-LE: vsubsws 2, 3, 4 # encoding: [0x80,0x27,0x43,0x10] 200 vsubsws 2, 3, 4 201# CHECK-BE: vsububm 2, 3, 4 # encoding: [0x10,0x43,0x24,0x00] 202# CHECK-LE: vsububm 2, 3, 4 # encoding: [0x00,0x24,0x43,0x10] 203 vsububm 2, 3, 4 204# CHECK-BE: vsubuhm 2, 3, 4 # encoding: [0x10,0x43,0x24,0x40] 205# CHECK-LE: vsubuhm 2, 3, 4 # encoding: [0x40,0x24,0x43,0x10] 206 vsubuhm 2, 3, 4 207# CHECK-BE: vsubuwm 2, 3, 4 # encoding: [0x10,0x43,0x24,0x80] 208# CHECK-LE: vsubuwm 2, 3, 4 # encoding: [0x80,0x24,0x43,0x10] 209 vsubuwm 2, 3, 4 210# CHECK-BE: vsububs 2, 3, 4 # encoding: [0x10,0x43,0x26,0x00] 211# CHECK-LE: vsububs 2, 3, 4 # encoding: [0x00,0x26,0x43,0x10] 212 vsububs 2, 3, 4 213# CHECK-BE: vsubuhs 2, 3, 4 # encoding: [0x10,0x43,0x26,0x40] 214# CHECK-LE: vsubuhs 2, 3, 4 # encoding: [0x40,0x26,0x43,0x10] 215 vsubuhs 2, 3, 4 216# CHECK-BE: vsubuws 2, 3, 4 # encoding: [0x10,0x43,0x26,0x80] 217# CHECK-LE: vsubuws 2, 3, 4 # encoding: [0x80,0x26,0x43,0x10] 218 vsubuws 2, 3, 4 219 220# CHECK-BE: vmulesb 2, 3, 4 # encoding: [0x10,0x43,0x23,0x08] 221# CHECK-LE: vmulesb 2, 3, 4 # encoding: [0x08,0x23,0x43,0x10] 222 vmulesb 2, 3, 4 223# CHECK-BE: vmulesh 2, 3, 4 # encoding: [0x10,0x43,0x23,0x48] 224# CHECK-LE: vmulesh 2, 3, 4 # encoding: [0x48,0x23,0x43,0x10] 225 vmulesh 2, 3, 4 226# CHECK-BE: vmuleub 2, 3, 4 # encoding: [0x10,0x43,0x22,0x08] 227# CHECK-LE: vmuleub 2, 3, 4 # encoding: [0x08,0x22,0x43,0x10] 228 vmuleub 2, 3, 4 229# CHECK-BE: vmuleuh 2, 3, 4 # encoding: [0x10,0x43,0x22,0x48] 230# CHECK-LE: vmuleuh 2, 3, 4 # encoding: [0x48,0x22,0x43,0x10] 231 vmuleuh 2, 3, 4 232# CHECK-BE: vmulosb 2, 3, 4 # encoding: [0x10,0x43,0x21,0x08] 233# CHECK-LE: vmulosb 2, 3, 4 # encoding: [0x08,0x21,0x43,0x10] 234 vmulosb 2, 3, 4 235# CHECK-BE: vmulosh 2, 3, 4 # encoding: [0x10,0x43,0x21,0x48] 236# CHECK-LE: vmulosh 2, 3, 4 # encoding: [0x48,0x21,0x43,0x10] 237 vmulosh 2, 3, 4 238# CHECK-BE: vmuloub 2, 3, 4 # encoding: [0x10,0x43,0x20,0x08] 239# CHECK-LE: vmuloub 2, 3, 4 # encoding: [0x08,0x20,0x43,0x10] 240 vmuloub 2, 3, 4 241# CHECK-BE: vmulouh 2, 3, 4 # encoding: [0x10,0x43,0x20,0x48] 242# CHECK-LE: vmulouh 2, 3, 4 # encoding: [0x48,0x20,0x43,0x10] 243 vmulouh 2, 3, 4 244 245# CHECK-BE: vmhaddshs 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x60] 246# CHECK-LE: vmhaddshs 2, 3, 4, 5 # encoding: [0x60,0x21,0x43,0x10] 247 vmhaddshs 2, 3, 4, 5 248# CHECK-BE: vmhraddshs 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x61] 249# CHECK-LE: vmhraddshs 2, 3, 4, 5 # encoding: [0x61,0x21,0x43,0x10] 250 vmhraddshs 2, 3, 4, 5 251# CHECK-BE: vmladduhm 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x62] 252# CHECK-LE: vmladduhm 2, 3, 4, 5 # encoding: [0x62,0x21,0x43,0x10] 253 vmladduhm 2, 3, 4, 5 254# CHECK-BE: vmsumubm 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x64] 255# CHECK-LE: vmsumubm 2, 3, 4, 5 # encoding: [0x64,0x21,0x43,0x10] 256 vmsumubm 2, 3, 4, 5 257# CHECK-BE: vmsummbm 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x65] 258# CHECK-LE: vmsummbm 2, 3, 4, 5 # encoding: [0x65,0x21,0x43,0x10] 259 vmsummbm 2, 3, 4, 5 260# CHECK-BE: vmsumshm 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x68] 261# CHECK-LE: vmsumshm 2, 3, 4, 5 # encoding: [0x68,0x21,0x43,0x10] 262 vmsumshm 2, 3, 4, 5 263# CHECK-BE: vmsumshs 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x69] 264# CHECK-LE: vmsumshs 2, 3, 4, 5 # encoding: [0x69,0x21,0x43,0x10] 265 vmsumshs 2, 3, 4, 5 266# CHECK-BE: vmsumuhm 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x66] 267# CHECK-LE: vmsumuhm 2, 3, 4, 5 # encoding: [0x66,0x21,0x43,0x10] 268 vmsumuhm 2, 3, 4, 5 269# CHECK-BE: vmsumuhs 2, 3, 4, 5 # encoding: [0x10,0x43,0x21,0x67] 270# CHECK-LE: vmsumuhs 2, 3, 4, 5 # encoding: [0x67,0x21,0x43,0x10] 271 vmsumuhs 2, 3, 4, 5 272 273# CHECK-BE: vsumsws 2, 3, 4 # encoding: [0x10,0x43,0x27,0x88] 274# CHECK-LE: vsumsws 2, 3, 4 # encoding: [0x88,0x27,0x43,0x10] 275 vsumsws 2, 3, 4 276# CHECK-BE: vsum2sws 2, 3, 4 # encoding: [0x10,0x43,0x26,0x88] 277# CHECK-LE: vsum2sws 2, 3, 4 # encoding: [0x88,0x26,0x43,0x10] 278 vsum2sws 2, 3, 4 279# CHECK-BE: vsum4sbs 2, 3, 4 # encoding: [0x10,0x43,0x27,0x08] 280# CHECK-LE: vsum4sbs 2, 3, 4 # encoding: [0x08,0x27,0x43,0x10] 281 vsum4sbs 2, 3, 4 282# CHECK-BE: vsum4shs 2, 3, 4 # encoding: [0x10,0x43,0x26,0x48] 283# CHECK-LE: vsum4shs 2, 3, 4 # encoding: [0x48,0x26,0x43,0x10] 284 vsum4shs 2, 3, 4 285# CHECK-BE: vsum4ubs 2, 3, 4 # encoding: [0x10,0x43,0x26,0x08] 286# CHECK-LE: vsum4ubs 2, 3, 4 # encoding: [0x08,0x26,0x43,0x10] 287 vsum4ubs 2, 3, 4 288 289# CHECK-BE: vavgsb 2, 3, 4 # encoding: [0x10,0x43,0x25,0x02] 290# CHECK-LE: vavgsb 2, 3, 4 # encoding: [0x02,0x25,0x43,0x10] 291 vavgsb 2, 3, 4 292# CHECK-BE: vavgsh 2, 3, 4 # encoding: [0x10,0x43,0x25,0x42] 293# CHECK-LE: vavgsh 2, 3, 4 # encoding: [0x42,0x25,0x43,0x10] 294 vavgsh 2, 3, 4 295# CHECK-BE: vavgsw 2, 3, 4 # encoding: [0x10,0x43,0x25,0x82] 296# CHECK-LE: vavgsw 2, 3, 4 # encoding: [0x82,0x25,0x43,0x10] 297 vavgsw 2, 3, 4 298# CHECK-BE: vavgub 2, 3, 4 # encoding: [0x10,0x43,0x24,0x02] 299# CHECK-LE: vavgub 2, 3, 4 # encoding: [0x02,0x24,0x43,0x10] 300 vavgub 2, 3, 4 301# CHECK-BE: vavguh 2, 3, 4 # encoding: [0x10,0x43,0x24,0x42] 302# CHECK-LE: vavguh 2, 3, 4 # encoding: [0x42,0x24,0x43,0x10] 303 vavguh 2, 3, 4 304# CHECK-BE: vavguw 2, 3, 4 # encoding: [0x10,0x43,0x24,0x82] 305# CHECK-LE: vavguw 2, 3, 4 # encoding: [0x82,0x24,0x43,0x10] 306 vavguw 2, 3, 4 307 308# CHECK-BE: vmaxsb 2, 3, 4 # encoding: [0x10,0x43,0x21,0x02] 309# CHECK-LE: vmaxsb 2, 3, 4 # encoding: [0x02,0x21,0x43,0x10] 310 vmaxsb 2, 3, 4 311# CHECK-BE: vmaxsh 2, 3, 4 # encoding: [0x10,0x43,0x21,0x42] 312# CHECK-LE: vmaxsh 2, 3, 4 # encoding: [0x42,0x21,0x43,0x10] 313 vmaxsh 2, 3, 4 314# CHECK-BE: vmaxsw 2, 3, 4 # encoding: [0x10,0x43,0x21,0x82] 315# CHECK-LE: vmaxsw 2, 3, 4 # encoding: [0x82,0x21,0x43,0x10] 316 vmaxsw 2, 3, 4 317# CHECK-BE: vmaxub 2, 3, 4 # encoding: [0x10,0x43,0x20,0x02] 318# CHECK-LE: vmaxub 2, 3, 4 # encoding: [0x02,0x20,0x43,0x10] 319 vmaxub 2, 3, 4 320# CHECK-BE: vmaxuh 2, 3, 4 # encoding: [0x10,0x43,0x20,0x42] 321# CHECK-LE: vmaxuh 2, 3, 4 # encoding: [0x42,0x20,0x43,0x10] 322 vmaxuh 2, 3, 4 323# CHECK-BE: vmaxuw 2, 3, 4 # encoding: [0x10,0x43,0x20,0x82] 324# CHECK-LE: vmaxuw 2, 3, 4 # encoding: [0x82,0x20,0x43,0x10] 325 vmaxuw 2, 3, 4 326 327# CHECK-BE: vminsb 2, 3, 4 # encoding: [0x10,0x43,0x23,0x02] 328# CHECK-LE: vminsb 2, 3, 4 # encoding: [0x02,0x23,0x43,0x10] 329 vminsb 2, 3, 4 330# CHECK-BE: vminsh 2, 3, 4 # encoding: [0x10,0x43,0x23,0x42] 331# CHECK-LE: vminsh 2, 3, 4 # encoding: [0x42,0x23,0x43,0x10] 332 vminsh 2, 3, 4 333# CHECK-BE: vminsw 2, 3, 4 # encoding: [0x10,0x43,0x23,0x82] 334# CHECK-LE: vminsw 2, 3, 4 # encoding: [0x82,0x23,0x43,0x10] 335 vminsw 2, 3, 4 336# CHECK-BE: vminub 2, 3, 4 # encoding: [0x10,0x43,0x22,0x02] 337# CHECK-LE: vminub 2, 3, 4 # encoding: [0x02,0x22,0x43,0x10] 338 vminub 2, 3, 4 339# CHECK-BE: vminuh 2, 3, 4 # encoding: [0x10,0x43,0x22,0x42] 340# CHECK-LE: vminuh 2, 3, 4 # encoding: [0x42,0x22,0x43,0x10] 341 vminuh 2, 3, 4 342# CHECK-BE: vminuw 2, 3, 4 # encoding: [0x10,0x43,0x22,0x82] 343# CHECK-LE: vminuw 2, 3, 4 # encoding: [0x82,0x22,0x43,0x10] 344 vminuw 2, 3, 4 345 346# Vector integer compare instructions 347 348# CHECK-BE: vcmpequb 2, 3, 4 # encoding: [0x10,0x43,0x20,0x06] 349# CHECK-LE: vcmpequb 2, 3, 4 # encoding: [0x06,0x20,0x43,0x10] 350 vcmpequb 2, 3, 4 351# CHECK-BE: vcmpequb. 2, 3, 4 # encoding: [0x10,0x43,0x24,0x06] 352# CHECK-LE: vcmpequb. 2, 3, 4 # encoding: [0x06,0x24,0x43,0x10] 353 vcmpequb. 2, 3, 4 354# CHECK-BE: vcmpequh 2, 3, 4 # encoding: [0x10,0x43,0x20,0x46] 355# CHECK-LE: vcmpequh 2, 3, 4 # encoding: [0x46,0x20,0x43,0x10] 356 vcmpequh 2, 3, 4 357# CHECK-BE: vcmpequh. 2, 3, 4 # encoding: [0x10,0x43,0x24,0x46] 358# CHECK-LE: vcmpequh. 2, 3, 4 # encoding: [0x46,0x24,0x43,0x10] 359 vcmpequh. 2, 3, 4 360# CHECK-BE: vcmpequw 2, 3, 4 # encoding: [0x10,0x43,0x20,0x86] 361# CHECK-LE: vcmpequw 2, 3, 4 # encoding: [0x86,0x20,0x43,0x10] 362 vcmpequw 2, 3, 4 363# CHECK-BE: vcmpequw. 2, 3, 4 # encoding: [0x10,0x43,0x24,0x86] 364# CHECK-LE: vcmpequw. 2, 3, 4 # encoding: [0x86,0x24,0x43,0x10] 365 vcmpequw. 2, 3, 4 366# CHECK-BE: vcmpgtsb 2, 3, 4 # encoding: [0x10,0x43,0x23,0x06] 367# CHECK-LE: vcmpgtsb 2, 3, 4 # encoding: [0x06,0x23,0x43,0x10] 368 vcmpgtsb 2, 3, 4 369# CHECK-BE: vcmpgtsb. 2, 3, 4 # encoding: [0x10,0x43,0x27,0x06] 370# CHECK-LE: vcmpgtsb. 2, 3, 4 # encoding: [0x06,0x27,0x43,0x10] 371 vcmpgtsb. 2, 3, 4 372# CHECK-BE: vcmpgtsh 2, 3, 4 # encoding: [0x10,0x43,0x23,0x46] 373# CHECK-LE: vcmpgtsh 2, 3, 4 # encoding: [0x46,0x23,0x43,0x10] 374 vcmpgtsh 2, 3, 4 375# CHECK-BE: vcmpgtsh. 2, 3, 4 # encoding: [0x10,0x43,0x27,0x46] 376# CHECK-LE: vcmpgtsh. 2, 3, 4 # encoding: [0x46,0x27,0x43,0x10] 377 vcmpgtsh. 2, 3, 4 378# CHECK-BE: vcmpgtsw 2, 3, 4 # encoding: [0x10,0x43,0x23,0x86] 379# CHECK-LE: vcmpgtsw 2, 3, 4 # encoding: [0x86,0x23,0x43,0x10] 380 vcmpgtsw 2, 3, 4 381# CHECK-BE: vcmpgtsw. 2, 3, 4 # encoding: [0x10,0x43,0x27,0x86] 382# CHECK-LE: vcmpgtsw. 2, 3, 4 # encoding: [0x86,0x27,0x43,0x10] 383 vcmpgtsw. 2, 3, 4 384# CHECK-BE: vcmpgtub 2, 3, 4 # encoding: [0x10,0x43,0x22,0x06] 385# CHECK-LE: vcmpgtub 2, 3, 4 # encoding: [0x06,0x22,0x43,0x10] 386 vcmpgtub 2, 3, 4 387# CHECK-BE: vcmpgtub. 2, 3, 4 # encoding: [0x10,0x43,0x26,0x06] 388# CHECK-LE: vcmpgtub. 2, 3, 4 # encoding: [0x06,0x26,0x43,0x10] 389 vcmpgtub. 2, 3, 4 390# CHECK-BE: vcmpgtuh 2, 3, 4 # encoding: [0x10,0x43,0x22,0x46] 391# CHECK-LE: vcmpgtuh 2, 3, 4 # encoding: [0x46,0x22,0x43,0x10] 392 vcmpgtuh 2, 3, 4 393# CHECK-BE: vcmpgtuh. 2, 3, 4 # encoding: [0x10,0x43,0x26,0x46] 394# CHECK-LE: vcmpgtuh. 2, 3, 4 # encoding: [0x46,0x26,0x43,0x10] 395 vcmpgtuh. 2, 3, 4 396# CHECK-BE: vcmpgtuw 2, 3, 4 # encoding: [0x10,0x43,0x22,0x86] 397# CHECK-LE: vcmpgtuw 2, 3, 4 # encoding: [0x86,0x22,0x43,0x10] 398 vcmpgtuw 2, 3, 4 399# CHECK-BE: vcmpgtuw. 2, 3, 4 # encoding: [0x10,0x43,0x26,0x86] 400# CHECK-LE: vcmpgtuw. 2, 3, 4 # encoding: [0x86,0x26,0x43,0x10] 401 vcmpgtuw. 2, 3, 4 402 403# Vector integer logical instructions 404 405# CHECK-BE: vand 2, 3, 4 # encoding: [0x10,0x43,0x24,0x04] 406# CHECK-LE: vand 2, 3, 4 # encoding: [0x04,0x24,0x43,0x10] 407 vand 2, 3, 4 408# CHECK-BE: vandc 2, 3, 4 # encoding: [0x10,0x43,0x24,0x44] 409# CHECK-LE: vandc 2, 3, 4 # encoding: [0x44,0x24,0x43,0x10] 410 vandc 2, 3, 4 411# CHECK-BE: vnor 2, 3, 4 # encoding: [0x10,0x43,0x25,0x04] 412# CHECK-LE: vnor 2, 3, 4 # encoding: [0x04,0x25,0x43,0x10] 413 vnor 2, 3, 4 414# CHECK-BE: vor 2, 3, 4 # encoding: [0x10,0x43,0x24,0x84] 415# CHECK-LE: vor 2, 3, 4 # encoding: [0x84,0x24,0x43,0x10] 416 vor 2, 3, 4 417# CHECK-BE: vxor 2, 3, 4 # encoding: [0x10,0x43,0x24,0xc4] 418# CHECK-LE: vxor 2, 3, 4 # encoding: [0xc4,0x24,0x43,0x10] 419 vxor 2, 3, 4 420 421# Vector integer rotate and shift instructions 422 423# CHECK-BE: vrlb 2, 3, 4 # encoding: [0x10,0x43,0x20,0x04] 424# CHECK-LE: vrlb 2, 3, 4 # encoding: [0x04,0x20,0x43,0x10] 425 vrlb 2, 3, 4 426# CHECK-BE: vrlh 2, 3, 4 # encoding: [0x10,0x43,0x20,0x44] 427# CHECK-LE: vrlh 2, 3, 4 # encoding: [0x44,0x20,0x43,0x10] 428 vrlh 2, 3, 4 429# CHECK-BE: vrlw 2, 3, 4 # encoding: [0x10,0x43,0x20,0x84] 430# CHECK-LE: vrlw 2, 3, 4 # encoding: [0x84,0x20,0x43,0x10] 431 vrlw 2, 3, 4 432 433# CHECK-BE: vslb 2, 3, 4 # encoding: [0x10,0x43,0x21,0x04] 434# CHECK-LE: vslb 2, 3, 4 # encoding: [0x04,0x21,0x43,0x10] 435 vslb 2, 3, 4 436# CHECK-BE: vslh 2, 3, 4 # encoding: [0x10,0x43,0x21,0x44] 437# CHECK-LE: vslh 2, 3, 4 # encoding: [0x44,0x21,0x43,0x10] 438 vslh 2, 3, 4 439# CHECK-BE: vslw 2, 3, 4 # encoding: [0x10,0x43,0x21,0x84] 440# CHECK-LE: vslw 2, 3, 4 # encoding: [0x84,0x21,0x43,0x10] 441 vslw 2, 3, 4 442# CHECK-BE: vsrb 2, 3, 4 # encoding: [0x10,0x43,0x22,0x04] 443# CHECK-LE: vsrb 2, 3, 4 # encoding: [0x04,0x22,0x43,0x10] 444 vsrb 2, 3, 4 445# CHECK-BE: vsrh 2, 3, 4 # encoding: [0x10,0x43,0x22,0x44] 446# CHECK-LE: vsrh 2, 3, 4 # encoding: [0x44,0x22,0x43,0x10] 447 vsrh 2, 3, 4 448# CHECK-BE: vsrw 2, 3, 4 # encoding: [0x10,0x43,0x22,0x84] 449# CHECK-LE: vsrw 2, 3, 4 # encoding: [0x84,0x22,0x43,0x10] 450 vsrw 2, 3, 4 451# CHECK-BE: vsrab 2, 3, 4 # encoding: [0x10,0x43,0x23,0x04] 452# CHECK-LE: vsrab 2, 3, 4 # encoding: [0x04,0x23,0x43,0x10] 453 vsrab 2, 3, 4 454# CHECK-BE: vsrah 2, 3, 4 # encoding: [0x10,0x43,0x23,0x44] 455# CHECK-LE: vsrah 2, 3, 4 # encoding: [0x44,0x23,0x43,0x10] 456 vsrah 2, 3, 4 457# CHECK-BE: vsraw 2, 3, 4 # encoding: [0x10,0x43,0x23,0x84] 458# CHECK-LE: vsraw 2, 3, 4 # encoding: [0x84,0x23,0x43,0x10] 459 vsraw 2, 3, 4 460 461# Vector floating-point instructions 462 463# CHECK-BE: vaddfp 2, 3, 4 # encoding: [0x10,0x43,0x20,0x0a] 464# CHECK-LE: vaddfp 2, 3, 4 # encoding: [0x0a,0x20,0x43,0x10] 465 vaddfp 2, 3, 4 466# CHECK-BE: vsubfp 2, 3, 4 # encoding: [0x10,0x43,0x20,0x4a] 467# CHECK-LE: vsubfp 2, 3, 4 # encoding: [0x4a,0x20,0x43,0x10] 468 vsubfp 2, 3, 4 469# CHECK-BE: vmaddfp 2, 3, 4, 5 # encoding: [0x10,0x43,0x29,0x2e] 470# CHECK-LE: vmaddfp 2, 3, 4, 5 # encoding: [0x2e,0x29,0x43,0x10] 471 vmaddfp 2, 3, 4, 5 472# CHECK-BE: vnmsubfp 2, 3, 4, 5 # encoding: [0x10,0x43,0x29,0x2f] 473# CHECK-LE: vnmsubfp 2, 3, 4, 5 # encoding: [0x2f,0x29,0x43,0x10] 474 vnmsubfp 2, 3, 4, 5 475 476# CHECK-BE: vmaxfp 2, 3, 4 # encoding: [0x10,0x43,0x24,0x0a] 477# CHECK-LE: vmaxfp 2, 3, 4 # encoding: [0x0a,0x24,0x43,0x10] 478 vmaxfp 2, 3, 4 479# CHECK-BE: vminfp 2, 3, 4 # encoding: [0x10,0x43,0x24,0x4a] 480# CHECK-LE: vminfp 2, 3, 4 # encoding: [0x4a,0x24,0x43,0x10] 481 vminfp 2, 3, 4 482 483# CHECK-BE: vctsxs 2, 3, 4 # encoding: [0x10,0x44,0x1b,0xca] 484# CHECK-LE: vctsxs 2, 3, 4 # encoding: [0xca,0x1b,0x44,0x10] 485 vctsxs 2, 3, 4 486# CHECK-BE: vctuxs 2, 3, 4 # encoding: [0x10,0x44,0x1b,0x8a] 487# CHECK-LE: vctuxs 2, 3, 4 # encoding: [0x8a,0x1b,0x44,0x10] 488 vctuxs 2, 3, 4 489# CHECK-BE: vcfsx 2, 3, 4 # encoding: [0x10,0x44,0x1b,0x4a] 490# CHECK-LE: vcfsx 2, 3, 4 # encoding: [0x4a,0x1b,0x44,0x10] 491 vcfsx 2, 3, 4 492# CHECK-BE: vcfux 2, 3, 4 # encoding: [0x10,0x44,0x1b,0x0a] 493# CHECK-LE: vcfux 2, 3, 4 # encoding: [0x0a,0x1b,0x44,0x10] 494 vcfux 2, 3, 4 495# CHECK-BE: vrfim 2, 3 # encoding: [0x10,0x40,0x1a,0xca] 496# CHECK-LE: vrfim 2, 3 # encoding: [0xca,0x1a,0x40,0x10] 497 vrfim 2, 3 498# CHECK-BE: vrfin 2, 3 # encoding: [0x10,0x40,0x1a,0x0a] 499# CHECK-LE: vrfin 2, 3 # encoding: [0x0a,0x1a,0x40,0x10] 500 vrfin 2, 3 501# CHECK-BE: vrfip 2, 3 # encoding: [0x10,0x40,0x1a,0x8a] 502# CHECK-LE: vrfip 2, 3 # encoding: [0x8a,0x1a,0x40,0x10] 503 vrfip 2, 3 504# CHECK-BE: vrfiz 2, 3 # encoding: [0x10,0x40,0x1a,0x4a] 505# CHECK-LE: vrfiz 2, 3 # encoding: [0x4a,0x1a,0x40,0x10] 506 vrfiz 2, 3 507 508# CHECK-BE: vcmpbfp 2, 3, 4 # encoding: [0x10,0x43,0x23,0xc6] 509# CHECK-LE: vcmpbfp 2, 3, 4 # encoding: [0xc6,0x23,0x43,0x10] 510 vcmpbfp 2, 3, 4 511# CHECK-BE: vcmpbfp. 2, 3, 4 # encoding: [0x10,0x43,0x27,0xc6] 512# CHECK-LE: vcmpbfp. 2, 3, 4 # encoding: [0xc6,0x27,0x43,0x10] 513 vcmpbfp. 2, 3, 4 514# CHECK-BE: vcmpeqfp 2, 3, 4 # encoding: [0x10,0x43,0x20,0xc6] 515# CHECK-LE: vcmpeqfp 2, 3, 4 # encoding: [0xc6,0x20,0x43,0x10] 516 vcmpeqfp 2, 3, 4 517# CHECK-BE: vcmpeqfp. 2, 3, 4 # encoding: [0x10,0x43,0x24,0xc6] 518# CHECK-LE: vcmpeqfp. 2, 3, 4 # encoding: [0xc6,0x24,0x43,0x10] 519 vcmpeqfp. 2, 3, 4 520# CHECK-BE: vcmpgefp 2, 3, 4 # encoding: [0x10,0x43,0x21,0xc6] 521# CHECK-LE: vcmpgefp 2, 3, 4 # encoding: [0xc6,0x21,0x43,0x10] 522 vcmpgefp 2, 3, 4 523# CHECK-BE: vcmpgefp. 2, 3, 4 # encoding: [0x10,0x43,0x25,0xc6] 524# CHECK-LE: vcmpgefp. 2, 3, 4 # encoding: [0xc6,0x25,0x43,0x10] 525 vcmpgefp. 2, 3, 4 526# CHECK-BE: vcmpgtfp 2, 3, 4 # encoding: [0x10,0x43,0x22,0xc6] 527# CHECK-LE: vcmpgtfp 2, 3, 4 # encoding: [0xc6,0x22,0x43,0x10] 528 vcmpgtfp 2, 3, 4 529# CHECK-BE: vcmpgtfp. 2, 3, 4 # encoding: [0x10,0x43,0x26,0xc6] 530# CHECK-LE: vcmpgtfp. 2, 3, 4 # encoding: [0xc6,0x26,0x43,0x10] 531 vcmpgtfp. 2, 3, 4 532 533# CHECK-BE: vexptefp 2, 3 # encoding: [0x10,0x40,0x19,0x8a] 534# CHECK-LE: vexptefp 2, 3 # encoding: [0x8a,0x19,0x40,0x10] 535 vexptefp 2, 3 536# CHECK-BE: vlogefp 2, 3 # encoding: [0x10,0x40,0x19,0xca] 537# CHECK-LE: vlogefp 2, 3 # encoding: [0xca,0x19,0x40,0x10] 538 vlogefp 2, 3 539# CHECK-BE: vrefp 2, 3 # encoding: [0x10,0x40,0x19,0x0a] 540# CHECK-LE: vrefp 2, 3 # encoding: [0x0a,0x19,0x40,0x10] 541 vrefp 2, 3 542# CHECK-BE: vrsqrtefp 2, 3 # encoding: [0x10,0x40,0x19,0x4a] 543# CHECK-LE: vrsqrtefp 2, 3 # encoding: [0x4a,0x19,0x40,0x10] 544 vrsqrtefp 2, 3 545 546# Vector status and control register instructions 547 548# CHECK-BE: mtvscr 2 # encoding: [0x10,0x00,0x16,0x44] 549# CHECK-LE: mtvscr 2 # encoding: [0x44,0x16,0x00,0x10] 550 mtvscr 2 551# CHECK-BE: mfvscr 2 # encoding: [0x10,0x40,0x06,0x04] 552# CHECK-LE: mfvscr 2 # encoding: [0x04,0x06,0x40,0x10] 553 mfvscr 2 554 555