10b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 20b57cec5SDimitry Andric// 30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric// 70b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 85ffd83dbSDimitry Andric// Automatically generated file, do not edit! 90b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 100b57cec5SDimitry Andric 11fe6060f1SDimitry Andricclass Enc_01d3d0 : OpcodeHexagon { 12fe6060f1SDimitry Andric bits <5> Vu32; 13fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 14fe6060f1SDimitry Andric bits <5> Rt32; 15fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 16fe6060f1SDimitry Andric bits <5> Vdd32; 17fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 18fe6060f1SDimitry Andric} 19fe6060f1SDimitry Andricclass Enc_02553a : OpcodeHexagon { 20fe6060f1SDimitry Andric bits <7> Ii; 21fe6060f1SDimitry Andric let Inst{11-5} = Ii{6-0}; 220b57cec5SDimitry Andric bits <5> Rs32; 230b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 24fe6060f1SDimitry Andric bits <2> Pd4; 25fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 26fe6060f1SDimitry Andric} 27fe6060f1SDimitry Andricclass Enc_03833b : OpcodeHexagon { 28fe6060f1SDimitry Andric bits <5> Rss32; 29fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 30fe6060f1SDimitry Andric bits <5> Rt32; 31fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 32fe6060f1SDimitry Andric bits <2> Pd4; 33fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 34fe6060f1SDimitry Andric} 35fe6060f1SDimitry Andricclass Enc_041d7b : OpcodeHexagon { 36fe6060f1SDimitry Andric bits <11> Ii; 37fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 38fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 39fe6060f1SDimitry Andric bits <4> Rs16; 40fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 41fe6060f1SDimitry Andric bits <5> n1; 42fe6060f1SDimitry Andric let Inst{28-28} = n1{4-4}; 43fe6060f1SDimitry Andric let Inst{24-23} = n1{3-2}; 44fe6060f1SDimitry Andric let Inst{13-13} = n1{1-1}; 45fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 46fe6060f1SDimitry Andric} 47bdd1243dSDimitry Andricclass Enc_046afa : OpcodeHexagon { 48bdd1243dSDimitry Andric bits <1> Mu2; 49bdd1243dSDimitry Andric let Inst{13-13} = Mu2{0-0}; 50bdd1243dSDimitry Andric bits <5> Vss32; 51bdd1243dSDimitry Andric let Inst{4-0} = Vss32{4-0}; 52bdd1243dSDimitry Andric bits <5> Rx32; 53bdd1243dSDimitry Andric let Inst{20-16} = Rx32{4-0}; 54bdd1243dSDimitry Andric} 55fe6060f1SDimitry Andricclass Enc_04c959 : OpcodeHexagon { 56fe6060f1SDimitry Andric bits <2> Ii; 57fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 58fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 59fe6060f1SDimitry Andric bits <6> II; 60fe6060f1SDimitry Andric let Inst{11-8} = II{5-2}; 61fe6060f1SDimitry Andric let Inst{6-5} = II{1-0}; 62fe6060f1SDimitry Andric bits <5> Rt32; 63fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 64fe6060f1SDimitry Andric bits <5> Ryy32; 65fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 66fe6060f1SDimitry Andric} 67fe6060f1SDimitry Andricclass Enc_0527db : OpcodeHexagon { 68fe6060f1SDimitry Andric bits <4> Rs16; 69fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 70fe6060f1SDimitry Andric bits <4> Rx16; 71fe6060f1SDimitry Andric let Inst{3-0} = Rx16{3-0}; 72fe6060f1SDimitry Andric} 73fe6060f1SDimitry Andricclass Enc_052c7d : OpcodeHexagon { 74fe6060f1SDimitry Andric bits <5> Ii; 75fe6060f1SDimitry Andric let Inst{6-3} = Ii{4-1}; 76fe6060f1SDimitry Andric bits <5> Rt32; 77fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 78fe6060f1SDimitry Andric bits <5> Rx32; 79fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 80fe6060f1SDimitry Andric} 81fe6060f1SDimitry Andricclass Enc_08d755 : OpcodeHexagon { 82fe6060f1SDimitry Andric bits <8> Ii; 83fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 84fe6060f1SDimitry Andric bits <5> Rs32; 85fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 86fe6060f1SDimitry Andric bits <2> Pd4; 87fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 88fe6060f1SDimitry Andric} 89fe6060f1SDimitry Andricclass Enc_0aa344 : OpcodeHexagon { 90fe6060f1SDimitry Andric bits <5> Gss32; 91fe6060f1SDimitry Andric let Inst{20-16} = Gss32{4-0}; 92fe6060f1SDimitry Andric bits <5> Rdd32; 93fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 94fe6060f1SDimitry Andric} 95fe6060f1SDimitry Andricclass Enc_0b2e5b : OpcodeHexagon { 96fe6060f1SDimitry Andric bits <3> Ii; 97fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 98fe6060f1SDimitry Andric bits <5> Vu32; 99fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 100fe6060f1SDimitry Andric bits <5> Vv32; 101fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 102fe6060f1SDimitry Andric bits <5> Vd32; 103fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 104fe6060f1SDimitry Andric} 105fe6060f1SDimitry Andricclass Enc_0b51ce : OpcodeHexagon { 106fe6060f1SDimitry Andric bits <3> Ii; 107fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 108fe6060f1SDimitry Andric bits <2> Qv4; 109fe6060f1SDimitry Andric let Inst{12-11} = Qv4{1-0}; 110fe6060f1SDimitry Andric bits <5> Vs32; 111fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 112fe6060f1SDimitry Andric bits <5> Rx32; 113fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 114fe6060f1SDimitry Andric} 115fe6060f1SDimitry Andricclass Enc_0cb018 : OpcodeHexagon { 116fe6060f1SDimitry Andric bits <5> Cs32; 117fe6060f1SDimitry Andric let Inst{20-16} = Cs32{4-0}; 1180b57cec5SDimitry Andric bits <5> Rd32; 1190b57cec5SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1200b57cec5SDimitry Andric} 121fe6060f1SDimitry Andricclass Enc_0d8870 : OpcodeHexagon { 122fe6060f1SDimitry Andric bits <12> Ii; 123fe6060f1SDimitry Andric let Inst{26-25} = Ii{11-10}; 124fe6060f1SDimitry Andric let Inst{13-13} = Ii{9-9}; 125fe6060f1SDimitry Andric let Inst{7-0} = Ii{8-1}; 126fe6060f1SDimitry Andric bits <5> Rs32; 127fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 128fe6060f1SDimitry Andric bits <3> Nt8; 129fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 130fe6060f1SDimitry Andric} 131fe6060f1SDimitry Andricclass Enc_0d8adb : OpcodeHexagon { 132fe6060f1SDimitry Andric bits <8> Ii; 133fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 134fe6060f1SDimitry Andric bits <5> Rss32; 135fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 136fe6060f1SDimitry Andric bits <2> Pd4; 137fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 138fe6060f1SDimitry Andric} 139fe6060f1SDimitry Andricclass Enc_0e41fa : OpcodeHexagon { 140fe6060f1SDimitry Andric bits <5> Vuu32; 141fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 142fe6060f1SDimitry Andric bits <5> Rt32; 143fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 144fe6060f1SDimitry Andric bits <5> Vd32; 145fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 146fe6060f1SDimitry Andric} 147fe6060f1SDimitry Andricclass Enc_0ed752 : OpcodeHexagon { 148fe6060f1SDimitry Andric bits <5> Rss32; 149fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 150fe6060f1SDimitry Andric bits <5> Cdd32; 151fe6060f1SDimitry Andric let Inst{4-0} = Cdd32{4-0}; 152fe6060f1SDimitry Andric} 153fe6060f1SDimitry Andricclass Enc_0f8bab : OpcodeHexagon { 154fe6060f1SDimitry Andric bits <5> Vu32; 155fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 156fe6060f1SDimitry Andric bits <5> Rt32; 157fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 158fe6060f1SDimitry Andric bits <2> Qd4; 159fe6060f1SDimitry Andric let Inst{1-0} = Qd4{1-0}; 160fe6060f1SDimitry Andric} 161fe6060f1SDimitry Andricclass Enc_0fa531 : OpcodeHexagon { 162fe6060f1SDimitry Andric bits <15> Ii; 163fe6060f1SDimitry Andric let Inst{21-21} = Ii{14-14}; 164fe6060f1SDimitry Andric let Inst{13-13} = Ii{13-13}; 165fe6060f1SDimitry Andric let Inst{11-1} = Ii{12-2}; 166fe6060f1SDimitry Andric bits <5> Rs32; 167fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 168fe6060f1SDimitry Andric} 169fe6060f1SDimitry Andricclass Enc_10bc21 : OpcodeHexagon { 170fe6060f1SDimitry Andric bits <4> Ii; 171fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 172fe6060f1SDimitry Andric bits <5> Rt32; 173fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 174fe6060f1SDimitry Andric bits <5> Rx32; 175fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 176fe6060f1SDimitry Andric} 177fe6060f1SDimitry Andricclass Enc_1178da : OpcodeHexagon { 178fe6060f1SDimitry Andric bits <3> Ii; 179fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 180fe6060f1SDimitry Andric bits <5> Vu32; 181fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 182fe6060f1SDimitry Andric bits <5> Vv32; 183fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 184fe6060f1SDimitry Andric bits <5> Vxx32; 185fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 186fe6060f1SDimitry Andric} 187fe6060f1SDimitry Andricclass Enc_11a146 : OpcodeHexagon { 188fe6060f1SDimitry Andric bits <4> Ii; 189fe6060f1SDimitry Andric let Inst{11-8} = Ii{3-0}; 190fe6060f1SDimitry Andric bits <5> Rss32; 191fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 192fe6060f1SDimitry Andric bits <5> Rd32; 193fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 194fe6060f1SDimitry Andric} 195fe6060f1SDimitry Andricclass Enc_12b6e9 : OpcodeHexagon { 196fe6060f1SDimitry Andric bits <4> Ii; 197fe6060f1SDimitry Andric let Inst{11-8} = Ii{3-0}; 1985ffd83dbSDimitry Andric bits <5> Rss32; 1995ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 2005ffd83dbSDimitry Andric bits <5> Rdd32; 2015ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2025ffd83dbSDimitry Andric} 203fe6060f1SDimitry Andricclass Enc_134437 : OpcodeHexagon { 204fe6060f1SDimitry Andric bits <2> Qs4; 205fe6060f1SDimitry Andric let Inst{9-8} = Qs4{1-0}; 206fe6060f1SDimitry Andric bits <2> Qt4; 207fe6060f1SDimitry Andric let Inst{23-22} = Qt4{1-0}; 208fe6060f1SDimitry Andric bits <2> Qd4; 209fe6060f1SDimitry Andric let Inst{1-0} = Qd4{1-0}; 2100b57cec5SDimitry Andric} 2110b57cec5SDimitry Andricclass Enc_140c83 : OpcodeHexagon { 2120b57cec5SDimitry Andric bits <10> Ii; 2130b57cec5SDimitry Andric let Inst{21-21} = Ii{9-9}; 2140b57cec5SDimitry Andric let Inst{13-5} = Ii{8-0}; 2150b57cec5SDimitry Andric bits <5> Rs32; 2160b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2170b57cec5SDimitry Andric bits <5> Rd32; 2180b57cec5SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2190b57cec5SDimitry Andric} 220fe6060f1SDimitry Andricclass Enc_143445 : OpcodeHexagon { 221fe6060f1SDimitry Andric bits <13> Ii; 222fe6060f1SDimitry Andric let Inst{26-25} = Ii{12-11}; 223fe6060f1SDimitry Andric let Inst{13-13} = Ii{10-10}; 224fe6060f1SDimitry Andric let Inst{7-0} = Ii{9-2}; 225fe6060f1SDimitry Andric bits <5> Rs32; 226fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 227fe6060f1SDimitry Andric bits <5> Rt32; 228fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 229fe6060f1SDimitry Andric} 230fe6060f1SDimitry Andricclass Enc_143a3c : OpcodeHexagon { 231fe6060f1SDimitry Andric bits <6> Ii; 232fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 233fe6060f1SDimitry Andric bits <6> II; 234fe6060f1SDimitry Andric let Inst{23-21} = II{5-3}; 235fe6060f1SDimitry Andric let Inst{7-5} = II{2-0}; 236fe6060f1SDimitry Andric bits <5> Rss32; 237fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 238fe6060f1SDimitry Andric bits <5> Rxx32; 239fe6060f1SDimitry Andric let Inst{4-0} = Rxx32{4-0}; 240fe6060f1SDimitry Andric} 241fe6060f1SDimitry Andricclass Enc_14640c : OpcodeHexagon { 242fe6060f1SDimitry Andric bits <11> Ii; 243fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 244fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 245fe6060f1SDimitry Andric bits <4> Rs16; 246fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 247fe6060f1SDimitry Andric bits <5> n1; 248fe6060f1SDimitry Andric let Inst{28-28} = n1{4-4}; 249fe6060f1SDimitry Andric let Inst{24-22} = n1{3-1}; 250fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 251fe6060f1SDimitry Andric} 252fe6060f1SDimitry Andricclass Enc_14d27a : OpcodeHexagon { 253fe6060f1SDimitry Andric bits <5> II; 254fe6060f1SDimitry Andric let Inst{12-8} = II{4-0}; 255fe6060f1SDimitry Andric bits <11> Ii; 256fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 257fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 258fe6060f1SDimitry Andric bits <4> Rs16; 259fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 260fe6060f1SDimitry Andric} 261fe6060f1SDimitry Andricclass Enc_152467 : OpcodeHexagon { 262fe6060f1SDimitry Andric bits <5> Ii; 263fe6060f1SDimitry Andric let Inst{8-5} = Ii{4-1}; 264fe6060f1SDimitry Andric bits <5> Rd32; 265fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 266fe6060f1SDimitry Andric bits <5> Rx32; 267fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 268fe6060f1SDimitry Andric} 269fe6060f1SDimitry Andricclass Enc_158beb : OpcodeHexagon { 270fe6060f1SDimitry Andric bits <2> Qs4; 271fe6060f1SDimitry Andric let Inst{6-5} = Qs4{1-0}; 272fe6060f1SDimitry Andric bits <5> Rt32; 273fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 274fe6060f1SDimitry Andric bits <1> Mu2; 275fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 276fe6060f1SDimitry Andric bits <5> Vv32; 277fe6060f1SDimitry Andric let Inst{4-0} = Vv32{4-0}; 278fe6060f1SDimitry Andric} 279fe6060f1SDimitry Andricclass Enc_163a3c : OpcodeHexagon { 280fe6060f1SDimitry Andric bits <7> Ii; 281fe6060f1SDimitry Andric let Inst{12-7} = Ii{6-1}; 282fe6060f1SDimitry Andric bits <5> Rs32; 283fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 284fe6060f1SDimitry Andric bits <5> Rt32; 285fe6060f1SDimitry Andric let Inst{4-0} = Rt32{4-0}; 286fe6060f1SDimitry Andric} 287fe6060f1SDimitry Andricclass Enc_16c48b : OpcodeHexagon { 288fe6060f1SDimitry Andric bits <5> Rt32; 289fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 290fe6060f1SDimitry Andric bits <1> Mu2; 291fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 292fe6060f1SDimitry Andric bits <5> Vv32; 293fe6060f1SDimitry Andric let Inst{12-8} = Vv32{4-0}; 294fe6060f1SDimitry Andric bits <5> Vw32; 295fe6060f1SDimitry Andric let Inst{4-0} = Vw32{4-0}; 296fe6060f1SDimitry Andric} 297fe6060f1SDimitry Andricclass Enc_178717 : OpcodeHexagon { 298fe6060f1SDimitry Andric bits <11> Ii; 299fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 300fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 301fe6060f1SDimitry Andric bits <4> Rs16; 302fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 303fe6060f1SDimitry Andric bits <6> n1; 304fe6060f1SDimitry Andric let Inst{28-28} = n1{5-5}; 305fe6060f1SDimitry Andric let Inst{25-23} = n1{4-2}; 306fe6060f1SDimitry Andric let Inst{13-13} = n1{1-1}; 307fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 308fe6060f1SDimitry Andric} 309fe6060f1SDimitry Andricclass Enc_179b35 : OpcodeHexagon { 310fe6060f1SDimitry Andric bits <5> Rs32; 311fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 312fe6060f1SDimitry Andric bits <5> Rtt32; 313fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 314fe6060f1SDimitry Andric bits <5> Rx32; 315fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 316fe6060f1SDimitry Andric} 3175ffd83dbSDimitry Andricclass Enc_18c338 : OpcodeHexagon { 3185ffd83dbSDimitry Andric bits <8> Ii; 3195ffd83dbSDimitry Andric let Inst{12-5} = Ii{7-0}; 3205ffd83dbSDimitry Andric bits <8> II; 3215ffd83dbSDimitry Andric let Inst{22-16} = II{7-1}; 3225ffd83dbSDimitry Andric let Inst{13-13} = II{0-0}; 3230b57cec5SDimitry Andric bits <5> Rdd32; 3240b57cec5SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 3250b57cec5SDimitry Andric} 326fe6060f1SDimitry Andricclass Enc_1a9974 : OpcodeHexagon { 327fe6060f1SDimitry Andric bits <2> Ii; 328fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 329fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 330fe6060f1SDimitry Andric bits <2> Pv4; 331fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 3320b57cec5SDimitry Andric bits <5> Rs32; 3330b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 334fe6060f1SDimitry Andric bits <5> Ru32; 335fe6060f1SDimitry Andric let Inst{12-8} = Ru32{4-0}; 3360b57cec5SDimitry Andric bits <5> Rtt32; 337fe6060f1SDimitry Andric let Inst{4-0} = Rtt32{4-0}; 338fe6060f1SDimitry Andric} 339fe6060f1SDimitry Andricclass Enc_1aa186 : OpcodeHexagon { 3405ffd83dbSDimitry Andric bits <5> Rss32; 3415ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 3425ffd83dbSDimitry Andric bits <5> Rt32; 3435ffd83dbSDimitry Andric let Inst{12-8} = Rt32{4-0}; 344fe6060f1SDimitry Andric bits <5> Rxx32; 345fe6060f1SDimitry Andric let Inst{4-0} = Rxx32{4-0}; 3460b57cec5SDimitry Andric} 347fe6060f1SDimitry Andricclass Enc_1aaec1 : OpcodeHexagon { 348fe6060f1SDimitry Andric bits <3> Ii; 349fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 350fe6060f1SDimitry Andric bits <3> Os8; 351fe6060f1SDimitry Andric let Inst{2-0} = Os8{2-0}; 3525ffd83dbSDimitry Andric bits <5> Rx32; 3535ffd83dbSDimitry Andric let Inst{20-16} = Rx32{4-0}; 3545ffd83dbSDimitry Andric} 355fe6060f1SDimitry Andricclass Enc_1b64fb : OpcodeHexagon { 356fe6060f1SDimitry Andric bits <16> Ii; 357fe6060f1SDimitry Andric let Inst{26-25} = Ii{15-14}; 358fe6060f1SDimitry Andric let Inst{20-16} = Ii{13-9}; 359fe6060f1SDimitry Andric let Inst{13-13} = Ii{8-8}; 360fe6060f1SDimitry Andric let Inst{7-0} = Ii{7-0}; 361fe6060f1SDimitry Andric bits <5> Rt32; 362fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 363fe6060f1SDimitry Andric} 364fe6060f1SDimitry Andricclass Enc_1bd127 : OpcodeHexagon { 365fe6060f1SDimitry Andric bits <5> Vu32; 366fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 367fe6060f1SDimitry Andric bits <3> Rt8; 368fe6060f1SDimitry Andric let Inst{18-16} = Rt8{2-0}; 369fe6060f1SDimitry Andric bits <5> Vdddd32; 370fe6060f1SDimitry Andric let Inst{4-0} = Vdddd32{4-0}; 371fe6060f1SDimitry Andric} 372fe6060f1SDimitry Andricclass Enc_1cf4ca : OpcodeHexagon { 373fe6060f1SDimitry Andric bits <6> Ii; 374fe6060f1SDimitry Andric let Inst{17-16} = Ii{5-4}; 375fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 376fe6060f1SDimitry Andric bits <2> Pv4; 377fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 378fe6060f1SDimitry Andric bits <5> Rt32; 379fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 380fe6060f1SDimitry Andric} 381fe6060f1SDimitry Andricclass Enc_1de724 : OpcodeHexagon { 382fe6060f1SDimitry Andric bits <11> Ii; 383fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 384fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 385fe6060f1SDimitry Andric bits <4> Rs16; 386fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 387fe6060f1SDimitry Andric bits <4> n1; 388fe6060f1SDimitry Andric let Inst{28-28} = n1{3-3}; 389fe6060f1SDimitry Andric let Inst{24-22} = n1{2-0}; 390fe6060f1SDimitry Andric} 391fe6060f1SDimitry Andricclass Enc_1ef990 : OpcodeHexagon { 392fe6060f1SDimitry Andric bits <2> Pv4; 393fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 394fe6060f1SDimitry Andric bits <1> Mu2; 395fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 396fe6060f1SDimitry Andric bits <5> Vs32; 397fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 398fe6060f1SDimitry Andric bits <5> Rx32; 399fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 400fe6060f1SDimitry Andric} 401fe6060f1SDimitry Andricclass Enc_1f19b5 : OpcodeHexagon { 402fe6060f1SDimitry Andric bits <5> Ii; 403fe6060f1SDimitry Andric let Inst{9-5} = Ii{4-0}; 404fe6060f1SDimitry Andric bits <5> Rss32; 405fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 406fe6060f1SDimitry Andric bits <2> Pd4; 407fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 408fe6060f1SDimitry Andric} 409fe6060f1SDimitry Andricclass Enc_1f5ba6 : OpcodeHexagon { 410fe6060f1SDimitry Andric bits <4> Rd16; 411fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 412fe6060f1SDimitry Andric} 413fe6060f1SDimitry Andricclass Enc_1f5d8f : OpcodeHexagon { 414fe6060f1SDimitry Andric bits <1> Mu2; 415fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 416fe6060f1SDimitry Andric bits <5> Ryy32; 417fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 418fe6060f1SDimitry Andric bits <5> Rx32; 419fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 420fe6060f1SDimitry Andric} 421fe6060f1SDimitry Andricclass Enc_211aaa : OpcodeHexagon { 422fe6060f1SDimitry Andric bits <11> Ii; 423fe6060f1SDimitry Andric let Inst{26-25} = Ii{10-9}; 424fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 4255ffd83dbSDimitry Andric bits <5> Rs32; 4265ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 427fe6060f1SDimitry Andric bits <5> Rd32; 428fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 4295ffd83dbSDimitry Andric} 430fe6060f1SDimitry Andricclass Enc_217147 : OpcodeHexagon { 431fe6060f1SDimitry Andric bits <2> Qv4; 432fe6060f1SDimitry Andric let Inst{23-22} = Qv4{1-0}; 433fe6060f1SDimitry Andric} 434fe6060f1SDimitry Andricclass Enc_222336 : OpcodeHexagon { 435fe6060f1SDimitry Andric bits <4> Ii; 436fe6060f1SDimitry Andric let Inst{8-5} = Ii{3-0}; 437fe6060f1SDimitry Andric bits <5> Rd32; 438fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 439fe6060f1SDimitry Andric bits <5> Rx32; 440fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 441fe6060f1SDimitry Andric} 442fe6060f1SDimitry Andricclass Enc_223005 : OpcodeHexagon { 443fe6060f1SDimitry Andric bits <6> Ii; 444fe6060f1SDimitry Andric let Inst{6-3} = Ii{5-2}; 445fe6060f1SDimitry Andric bits <3> Nt8; 446fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 447fe6060f1SDimitry Andric bits <5> Rx32; 448fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 449fe6060f1SDimitry Andric} 450fe6060f1SDimitry Andricclass Enc_226535 : OpcodeHexagon { 451fe6060f1SDimitry Andric bits <8> Ii; 452fe6060f1SDimitry Andric let Inst{12-7} = Ii{7-2}; 453fe6060f1SDimitry Andric bits <5> Rs32; 454fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 455fe6060f1SDimitry Andric bits <5> Rt32; 456fe6060f1SDimitry Andric let Inst{4-0} = Rt32{4-0}; 457fe6060f1SDimitry Andric} 458fe6060f1SDimitry Andricclass Enc_22c845 : OpcodeHexagon { 459fe6060f1SDimitry Andric bits <14> Ii; 460fe6060f1SDimitry Andric let Inst{10-0} = Ii{13-3}; 461fe6060f1SDimitry Andric bits <5> Rx32; 462fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 463fe6060f1SDimitry Andric} 464fe6060f1SDimitry Andricclass Enc_2301d6 : OpcodeHexagon { 465fe6060f1SDimitry Andric bits <6> Ii; 466fe6060f1SDimitry Andric let Inst{20-16} = Ii{5-1}; 467fe6060f1SDimitry Andric let Inst{8-8} = Ii{0-0}; 468fe6060f1SDimitry Andric bits <2> Pt4; 469fe6060f1SDimitry Andric let Inst{10-9} = Pt4{1-0}; 470fe6060f1SDimitry Andric bits <5> Rd32; 471fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 472fe6060f1SDimitry Andric} 473fe6060f1SDimitry Andricclass Enc_245865 : OpcodeHexagon { 474fe6060f1SDimitry Andric bits <5> Vu32; 475fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 476fe6060f1SDimitry Andric bits <5> Vv32; 477fe6060f1SDimitry Andric let Inst{23-19} = Vv32{4-0}; 478fe6060f1SDimitry Andric bits <3> Rt8; 479fe6060f1SDimitry Andric let Inst{18-16} = Rt8{2-0}; 480fe6060f1SDimitry Andric bits <5> Vx32; 481fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 482fe6060f1SDimitry Andric} 483fe6060f1SDimitry Andricclass Enc_24a7dc : OpcodeHexagon { 484fe6060f1SDimitry Andric bits <5> Vu32; 485fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 486fe6060f1SDimitry Andric bits <5> Vv32; 487fe6060f1SDimitry Andric let Inst{23-19} = Vv32{4-0}; 488fe6060f1SDimitry Andric bits <3> Rt8; 489fe6060f1SDimitry Andric let Inst{18-16} = Rt8{2-0}; 490fe6060f1SDimitry Andric bits <5> Vdd32; 491fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 492fe6060f1SDimitry Andric} 493fe6060f1SDimitry Andricclass Enc_25bef0 : OpcodeHexagon { 4945ffd83dbSDimitry Andric bits <16> Ii; 495fe6060f1SDimitry Andric let Inst{26-25} = Ii{15-14}; 4965ffd83dbSDimitry Andric let Inst{20-16} = Ii{13-9}; 4975ffd83dbSDimitry Andric let Inst{13-5} = Ii{8-0}; 4985ffd83dbSDimitry Andric bits <5> Rd32; 4995ffd83dbSDimitry Andric let Inst{4-0} = Rd32{4-0}; 5005ffd83dbSDimitry Andric} 501fe6060f1SDimitry Andricclass Enc_263841 : OpcodeHexagon { 502fe6060f1SDimitry Andric bits <5> Vu32; 503fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 5045ffd83dbSDimitry Andric bits <5> Rtt32; 505fe6060f1SDimitry Andric let Inst{20-16} = Rtt32{4-0}; 506fe6060f1SDimitry Andric bits <5> Vd32; 507fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 508fe6060f1SDimitry Andric} 509fe6060f1SDimitry Andricclass Enc_277737 : OpcodeHexagon { 510fe6060f1SDimitry Andric bits <8> Ii; 511fe6060f1SDimitry Andric let Inst{22-21} = Ii{7-6}; 512fe6060f1SDimitry Andric let Inst{13-13} = Ii{5-5}; 513fe6060f1SDimitry Andric let Inst{7-5} = Ii{4-2}; 514fe6060f1SDimitry Andric bits <5> Ru32; 515fe6060f1SDimitry Andric let Inst{4-0} = Ru32{4-0}; 516fe6060f1SDimitry Andric bits <5> Rs32; 517fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 518fe6060f1SDimitry Andric bits <5> Rd32; 519fe6060f1SDimitry Andric let Inst{12-8} = Rd32{4-0}; 520fe6060f1SDimitry Andric} 521fe6060f1SDimitry Andricclass Enc_27b757 : OpcodeHexagon { 522fe6060f1SDimitry Andric bits <4> Ii; 523fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 524fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 525fe6060f1SDimitry Andric bits <2> Pv4; 526fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 527fe6060f1SDimitry Andric bits <5> Rt32; 528fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 529fe6060f1SDimitry Andric bits <5> Vs32; 530fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 531fe6060f1SDimitry Andric} 532fe6060f1SDimitry Andricclass Enc_27fd0e : OpcodeHexagon { 533fe6060f1SDimitry Andric bits <6> Ii; 534fe6060f1SDimitry Andric let Inst{8-5} = Ii{5-2}; 535fe6060f1SDimitry Andric bits <1> Mu2; 536fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 537fe6060f1SDimitry Andric bits <5> Rd32; 538fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 539fe6060f1SDimitry Andric bits <5> Rx32; 540fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 541fe6060f1SDimitry Andric} 542fe6060f1SDimitry Andricclass Enc_284ebb : OpcodeHexagon { 543fe6060f1SDimitry Andric bits <2> Ps4; 544fe6060f1SDimitry Andric let Inst{17-16} = Ps4{1-0}; 545fe6060f1SDimitry Andric bits <2> Pt4; 546fe6060f1SDimitry Andric let Inst{9-8} = Pt4{1-0}; 5475ffd83dbSDimitry Andric bits <2> Pd4; 5485ffd83dbSDimitry Andric let Inst{1-0} = Pd4{1-0}; 5495ffd83dbSDimitry Andric} 550fe6060f1SDimitry Andricclass Enc_28a2dc : OpcodeHexagon { 551fe6060f1SDimitry Andric bits <5> Ii; 552fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 553fe6060f1SDimitry Andric bits <5> Rs32; 554fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 555fe6060f1SDimitry Andric bits <5> Rx32; 556fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 557fe6060f1SDimitry Andric} 558fe6060f1SDimitry Andricclass Enc_28dcbb : OpcodeHexagon { 559fe6060f1SDimitry Andric bits <5> Rt32; 560fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 561fe6060f1SDimitry Andric bits <1> Mu2; 562fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 563fe6060f1SDimitry Andric bits <5> Vvv32; 564fe6060f1SDimitry Andric let Inst{4-0} = Vvv32{4-0}; 565fe6060f1SDimitry Andric} 566fe6060f1SDimitry Andricclass Enc_2a3787 : OpcodeHexagon { 567fe6060f1SDimitry Andric bits <13> Ii; 568fe6060f1SDimitry Andric let Inst{26-25} = Ii{12-11}; 569fe6060f1SDimitry Andric let Inst{13-5} = Ii{10-2}; 570fe6060f1SDimitry Andric bits <5> Rs32; 571fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 572fe6060f1SDimitry Andric bits <5> Rd32; 573fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 574fe6060f1SDimitry Andric} 575fe6060f1SDimitry Andricclass Enc_2a7b91 : OpcodeHexagon { 576fe6060f1SDimitry Andric bits <6> Ii; 577fe6060f1SDimitry Andric let Inst{20-16} = Ii{5-1}; 578fe6060f1SDimitry Andric let Inst{8-8} = Ii{0-0}; 579fe6060f1SDimitry Andric bits <2> Pt4; 580fe6060f1SDimitry Andric let Inst{10-9} = Pt4{1-0}; 581fe6060f1SDimitry Andric bits <5> Rdd32; 582fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 583fe6060f1SDimitry Andric} 584fe6060f1SDimitry Andricclass Enc_2ae154 : OpcodeHexagon { 585fe6060f1SDimitry Andric bits <5> Rs32; 586fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 587fe6060f1SDimitry Andric bits <5> Rt32; 588fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 589fe6060f1SDimitry Andric bits <5> Rx32; 590fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 5915ffd83dbSDimitry Andric} 5925ffd83dbSDimitry Andricclass Enc_2b3f60 : OpcodeHexagon { 5935ffd83dbSDimitry Andric bits <5> Rss32; 5945ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 5955ffd83dbSDimitry Andric bits <5> Rtt32; 5965ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 5975ffd83dbSDimitry Andric bits <5> Rdd32; 5985ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 5995ffd83dbSDimitry Andric bits <2> Px4; 6005ffd83dbSDimitry Andric let Inst{6-5} = Px4{1-0}; 6015ffd83dbSDimitry Andric} 602fe6060f1SDimitry Andricclass Enc_2b518f : OpcodeHexagon { 603fe6060f1SDimitry Andric bits <32> Ii; 604fe6060f1SDimitry Andric let Inst{27-16} = Ii{31-20}; 605fe6060f1SDimitry Andric let Inst{13-0} = Ii{19-6}; 606fe6060f1SDimitry Andric} 607fe6060f1SDimitry Andricclass Enc_2bae10 : OpcodeHexagon { 608fe6060f1SDimitry Andric bits <4> Ii; 609fe6060f1SDimitry Andric let Inst{10-8} = Ii{3-1}; 610fe6060f1SDimitry Andric bits <4> Rs16; 611fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 612fe6060f1SDimitry Andric bits <4> Rd16; 613fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 614fe6060f1SDimitry Andric} 615fe6060f1SDimitry Andricclass Enc_2d7491 : OpcodeHexagon { 616fe6060f1SDimitry Andric bits <13> Ii; 617fe6060f1SDimitry Andric let Inst{26-25} = Ii{12-11}; 618fe6060f1SDimitry Andric let Inst{13-5} = Ii{10-2}; 619fe6060f1SDimitry Andric bits <5> Rs32; 620fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 621fe6060f1SDimitry Andric bits <5> Rdd32; 622fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 623fe6060f1SDimitry Andric} 624fe6060f1SDimitry Andricclass Enc_2d829e : OpcodeHexagon { 625fe6060f1SDimitry Andric bits <14> Ii; 626fe6060f1SDimitry Andric let Inst{10-0} = Ii{13-3}; 627fe6060f1SDimitry Andric bits <5> Rs32; 628fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 629fe6060f1SDimitry Andric} 630fe6060f1SDimitry Andricclass Enc_2df31d : OpcodeHexagon { 631fe6060f1SDimitry Andric bits <8> Ii; 632fe6060f1SDimitry Andric let Inst{9-4} = Ii{7-2}; 633fe6060f1SDimitry Andric bits <4> Rd16; 634fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 635fe6060f1SDimitry Andric} 636fe6060f1SDimitry Andricclass Enc_2e1979 : OpcodeHexagon { 637fe6060f1SDimitry Andric bits <2> Ii; 638fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 639fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 640fe6060f1SDimitry Andric bits <2> Pv4; 641fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 642fe6060f1SDimitry Andric bits <5> Rs32; 643fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 644fe6060f1SDimitry Andric bits <5> Rt32; 645fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 646fe6060f1SDimitry Andric bits <5> Rd32; 647fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 648fe6060f1SDimitry Andric} 649fe6060f1SDimitry Andricclass Enc_2ea740 : OpcodeHexagon { 650fe6060f1SDimitry Andric bits <4> Ii; 651fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 652fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 653fe6060f1SDimitry Andric bits <2> Qv4; 654fe6060f1SDimitry Andric let Inst{12-11} = Qv4{1-0}; 655fe6060f1SDimitry Andric bits <5> Rt32; 656fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 657fe6060f1SDimitry Andric bits <5> Vs32; 658fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 659fe6060f1SDimitry Andric} 660fe6060f1SDimitry Andricclass Enc_2ebe3b : OpcodeHexagon { 661fe6060f1SDimitry Andric bits <1> Mu2; 662fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 663fe6060f1SDimitry Andric bits <5> Vd32; 664fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 665fe6060f1SDimitry Andric bits <5> Rx32; 666fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 667fe6060f1SDimitry Andric} 668fe6060f1SDimitry Andricclass Enc_2f2f04 : OpcodeHexagon { 669fe6060f1SDimitry Andric bits <1> Ii; 670fe6060f1SDimitry Andric let Inst{5-5} = Ii{0-0}; 671fe6060f1SDimitry Andric bits <5> Vuu32; 672fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 673fe6060f1SDimitry Andric bits <5> Rt32; 674fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 675fe6060f1SDimitry Andric bits <5> Vdd32; 676fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 677fe6060f1SDimitry Andric} 678fe6060f1SDimitry Andricclass Enc_2fbf3c : OpcodeHexagon { 679fe6060f1SDimitry Andric bits <3> Ii; 680fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 681fe6060f1SDimitry Andric bits <4> Rs16; 682fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 683fe6060f1SDimitry Andric bits <4> Rd16; 684fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 685fe6060f1SDimitry Andric} 686fe6060f1SDimitry Andricclass Enc_310ba1 : OpcodeHexagon { 687fe6060f1SDimitry Andric bits <5> Vu32; 688fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 689fe6060f1SDimitry Andric bits <5> Rtt32; 690fe6060f1SDimitry Andric let Inst{20-16} = Rtt32{4-0}; 691fe6060f1SDimitry Andric bits <5> Vx32; 692fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 693fe6060f1SDimitry Andric} 6945ffd83dbSDimitry Andricclass Enc_311abd : OpcodeHexagon { 6955ffd83dbSDimitry Andric bits <5> Ii; 6965ffd83dbSDimitry Andric let Inst{12-8} = Ii{4-0}; 6975ffd83dbSDimitry Andric bits <5> Rs32; 6985ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 6995ffd83dbSDimitry Andric bits <5> Rdd32; 7005ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 7015ffd83dbSDimitry Andric} 702fe6060f1SDimitry Andricclass Enc_31aa6a : OpcodeHexagon { 7035ffd83dbSDimitry Andric bits <5> Ii; 704fe6060f1SDimitry Andric let Inst{6-3} = Ii{4-1}; 705fe6060f1SDimitry Andric bits <2> Pv4; 706fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 707fe6060f1SDimitry Andric bits <3> Nt8; 708fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 709fe6060f1SDimitry Andric bits <5> Rx32; 710fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 711fe6060f1SDimitry Andric} 712fe6060f1SDimitry Andricclass Enc_31db33 : OpcodeHexagon { 713fe6060f1SDimitry Andric bits <2> Qt4; 714fe6060f1SDimitry Andric let Inst{6-5} = Qt4{1-0}; 715fe6060f1SDimitry Andric bits <5> Vu32; 716fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 717fe6060f1SDimitry Andric bits <5> Vv32; 718fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 719fe6060f1SDimitry Andric bits <5> Vd32; 720fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 721fe6060f1SDimitry Andric} 722fe6060f1SDimitry Andricclass Enc_322e1b : OpcodeHexagon { 723fe6060f1SDimitry Andric bits <6> Ii; 724fe6060f1SDimitry Andric let Inst{22-21} = Ii{5-4}; 725fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 726fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 727fe6060f1SDimitry Andric bits <6> II; 728fe6060f1SDimitry Andric let Inst{23-23} = II{5-5}; 729fe6060f1SDimitry Andric let Inst{4-0} = II{4-0}; 7305ffd83dbSDimitry Andric bits <5> Rs32; 7315ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 7325ffd83dbSDimitry Andric bits <5> Rd32; 733fe6060f1SDimitry Andric let Inst{12-8} = Rd32{4-0}; 734fe6060f1SDimitry Andric} 735fe6060f1SDimitry Andricclass Enc_323f2d : OpcodeHexagon { 736fe6060f1SDimitry Andric bits <6> II; 737fe6060f1SDimitry Andric let Inst{11-8} = II{5-2}; 738fe6060f1SDimitry Andric let Inst{6-5} = II{1-0}; 739fe6060f1SDimitry Andric bits <5> Rd32; 7405ffd83dbSDimitry Andric let Inst{4-0} = Rd32{4-0}; 741fe6060f1SDimitry Andric bits <5> Re32; 742fe6060f1SDimitry Andric let Inst{20-16} = Re32{4-0}; 7435ffd83dbSDimitry Andric} 744fe6060f1SDimitry Andricclass Enc_329361 : OpcodeHexagon { 7455ffd83dbSDimitry Andric bits <2> Pu4; 746fe6060f1SDimitry Andric let Inst{6-5} = Pu4{1-0}; 747fe6060f1SDimitry Andric bits <5> Rss32; 748fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 749fe6060f1SDimitry Andric bits <5> Rtt32; 750fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 7515ffd83dbSDimitry Andric bits <5> Rdd32; 7525ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 7535ffd83dbSDimitry Andric} 754fe6060f1SDimitry Andricclass Enc_33f8ba : OpcodeHexagon { 7555ffd83dbSDimitry Andric bits <8> Ii; 756fe6060f1SDimitry Andric let Inst{12-8} = Ii{7-3}; 757fe6060f1SDimitry Andric let Inst{4-2} = Ii{2-0}; 758fe6060f1SDimitry Andric bits <5> Rx32; 759fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 7605ffd83dbSDimitry Andric} 7615ffd83dbSDimitry Andricclass Enc_3680c2 : OpcodeHexagon { 7625ffd83dbSDimitry Andric bits <7> Ii; 7635ffd83dbSDimitry Andric let Inst{11-5} = Ii{6-0}; 7645ffd83dbSDimitry Andric bits <5> Rss32; 7655ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 7665ffd83dbSDimitry Andric bits <2> Pd4; 7675ffd83dbSDimitry Andric let Inst{1-0} = Pd4{1-0}; 7685ffd83dbSDimitry Andric} 769fe6060f1SDimitry Andricclass Enc_3694bd : OpcodeHexagon { 770fe6060f1SDimitry Andric bits <11> Ii; 771fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 772fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 773fe6060f1SDimitry Andric bits <3> Ns8; 774fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 775fe6060f1SDimitry Andric bits <5> n1; 776fe6060f1SDimitry Andric let Inst{29-29} = n1{4-4}; 777fe6060f1SDimitry Andric let Inst{26-25} = n1{3-2}; 778fe6060f1SDimitry Andric let Inst{23-22} = n1{1-0}; 779fe6060f1SDimitry Andric} 780fe6060f1SDimitry Andricclass Enc_372c9d : OpcodeHexagon { 781fe6060f1SDimitry Andric bits <2> Pv4; 782fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 783fe6060f1SDimitry Andric bits <1> Mu2; 784fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 785fe6060f1SDimitry Andric bits <3> Os8; 786fe6060f1SDimitry Andric let Inst{2-0} = Os8{2-0}; 787fe6060f1SDimitry Andric bits <5> Rx32; 788fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 789fe6060f1SDimitry Andric} 790fe6060f1SDimitry Andricclass Enc_395cc4 : OpcodeHexagon { 791fe6060f1SDimitry Andric bits <7> Ii; 792fe6060f1SDimitry Andric let Inst{6-3} = Ii{6-3}; 793fe6060f1SDimitry Andric bits <1> Mu2; 794fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 795fe6060f1SDimitry Andric bits <5> Rtt32; 796fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 797fe6060f1SDimitry Andric bits <5> Rx32; 798fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 799fe6060f1SDimitry Andric} 800fe6060f1SDimitry Andricclass Enc_397f23 : OpcodeHexagon { 801fe6060f1SDimitry Andric bits <8> Ii; 802fe6060f1SDimitry Andric let Inst{13-13} = Ii{7-7}; 803fe6060f1SDimitry Andric let Inst{7-3} = Ii{6-2}; 804fe6060f1SDimitry Andric bits <2> Pv4; 805fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 806fe6060f1SDimitry Andric bits <5> Rs32; 807fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 808fe6060f1SDimitry Andric bits <5> Rt32; 809fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 810fe6060f1SDimitry Andric} 811fe6060f1SDimitry Andricclass Enc_399e12 : OpcodeHexagon { 812fe6060f1SDimitry Andric bits <4> Rs16; 813fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 814fe6060f1SDimitry Andric bits <3> Rdd8; 815fe6060f1SDimitry Andric let Inst{2-0} = Rdd8{2-0}; 816fe6060f1SDimitry Andric} 817fe6060f1SDimitry Andricclass Enc_3a2484 : OpcodeHexagon { 818fe6060f1SDimitry Andric bits <11> Ii; 819fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 820fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 821fe6060f1SDimitry Andric bits <4> Rs16; 822fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 823fe6060f1SDimitry Andric bits <4> n1; 824fe6060f1SDimitry Andric let Inst{28-28} = n1{3-3}; 825fe6060f1SDimitry Andric let Inst{24-23} = n1{2-1}; 826fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 827fe6060f1SDimitry Andric} 828fe6060f1SDimitry Andricclass Enc_3a3d62 : OpcodeHexagon { 829fe6060f1SDimitry Andric bits <5> Rs32; 830fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 831fe6060f1SDimitry Andric bits <5> Rdd32; 832fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 833fe6060f1SDimitry Andric} 834fe6060f1SDimitry Andricclass Enc_3b7631 : OpcodeHexagon { 835fe6060f1SDimitry Andric bits <5> Vu32; 836fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 837fe6060f1SDimitry Andric bits <5> Vdddd32; 838fe6060f1SDimitry Andric let Inst{4-0} = Vdddd32{4-0}; 839fe6060f1SDimitry Andric bits <3> Rx8; 840fe6060f1SDimitry Andric let Inst{18-16} = Rx8{2-0}; 841fe6060f1SDimitry Andric} 842fe6060f1SDimitry Andricclass Enc_3d5b28 : OpcodeHexagon { 843fe6060f1SDimitry Andric bits <5> Rss32; 844fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 845fe6060f1SDimitry Andric bits <5> Rt32; 846fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 847fe6060f1SDimitry Andric bits <5> Rd32; 848fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 849fe6060f1SDimitry Andric} 850fe6060f1SDimitry Andricclass Enc_3d6d37 : OpcodeHexagon { 851fe6060f1SDimitry Andric bits <2> Qs4; 852fe6060f1SDimitry Andric let Inst{6-5} = Qs4{1-0}; 853fe6060f1SDimitry Andric bits <5> Rt32; 854fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 855fe6060f1SDimitry Andric bits <1> Mu2; 856fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 857fe6060f1SDimitry Andric bits <5> Vvv32; 858fe6060f1SDimitry Andric let Inst{12-8} = Vvv32{4-0}; 859fe6060f1SDimitry Andric bits <5> Vw32; 860fe6060f1SDimitry Andric let Inst{4-0} = Vw32{4-0}; 861fe6060f1SDimitry Andric} 862fe6060f1SDimitry Andricclass Enc_3d920a : OpcodeHexagon { 863fe6060f1SDimitry Andric bits <6> Ii; 864fe6060f1SDimitry Andric let Inst{8-5} = Ii{5-2}; 865fe6060f1SDimitry Andric bits <5> Rd32; 866fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 867fe6060f1SDimitry Andric bits <5> Rx32; 868fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 869fe6060f1SDimitry Andric} 870fe6060f1SDimitry Andricclass Enc_3dac0b : OpcodeHexagon { 871fe6060f1SDimitry Andric bits <2> Qt4; 872fe6060f1SDimitry Andric let Inst{6-5} = Qt4{1-0}; 873fe6060f1SDimitry Andric bits <5> Vu32; 874fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 875fe6060f1SDimitry Andric bits <5> Vv32; 876fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 877fe6060f1SDimitry Andric bits <5> Vdd32; 878fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 879fe6060f1SDimitry Andric} 880fe6060f1SDimitry Andricclass Enc_3e3989 : OpcodeHexagon { 881fe6060f1SDimitry Andric bits <11> Ii; 882fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 883fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 884fe6060f1SDimitry Andric bits <4> Rs16; 885fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 886fe6060f1SDimitry Andric bits <6> n1; 887fe6060f1SDimitry Andric let Inst{28-28} = n1{5-5}; 888fe6060f1SDimitry Andric let Inst{25-22} = n1{4-1}; 889fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 890fe6060f1SDimitry Andric} 891fe6060f1SDimitry Andricclass Enc_3f97c8 : OpcodeHexagon { 892fe6060f1SDimitry Andric bits <6> Ii; 893fe6060f1SDimitry Andric let Inst{6-3} = Ii{5-2}; 894fe6060f1SDimitry Andric bits <1> Mu2; 895fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 896fe6060f1SDimitry Andric bits <3> Nt8; 897fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 898fe6060f1SDimitry Andric bits <5> Rx32; 899fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 900fe6060f1SDimitry Andric} 901fe6060f1SDimitry Andricclass Enc_3fc427 : OpcodeHexagon { 902fe6060f1SDimitry Andric bits <5> Vu32; 903fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 904fe6060f1SDimitry Andric bits <5> Vv32; 905fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 906fe6060f1SDimitry Andric bits <5> Vxx32; 907fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 908fe6060f1SDimitry Andric} 909bdd1243dSDimitry Andricclass Enc_403871 : OpcodeHexagon { 910bdd1243dSDimitry Andric bits <5> Rx32; 911bdd1243dSDimitry Andric let Inst{20-16} = Rx32{4-0}; 912bdd1243dSDimitry Andric} 913fe6060f1SDimitry Andricclass Enc_405228 : OpcodeHexagon { 914fe6060f1SDimitry Andric bits <11> Ii; 915fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 916fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 917fe6060f1SDimitry Andric bits <4> Rs16; 918fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 919fe6060f1SDimitry Andric bits <3> n1; 920fe6060f1SDimitry Andric let Inst{28-28} = n1{2-2}; 921fe6060f1SDimitry Andric let Inst{24-23} = n1{1-0}; 922fe6060f1SDimitry Andric} 9235ffd83dbSDimitry Andricclass Enc_412ff0 : OpcodeHexagon { 9245ffd83dbSDimitry Andric bits <5> Rss32; 9255ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 9265ffd83dbSDimitry Andric bits <5> Ru32; 9275ffd83dbSDimitry Andric let Inst{4-0} = Ru32{4-0}; 9285ffd83dbSDimitry Andric bits <5> Rxx32; 9295ffd83dbSDimitry Andric let Inst{12-8} = Rxx32{4-0}; 9305ffd83dbSDimitry Andric} 931fe6060f1SDimitry Andricclass Enc_420cf3 : OpcodeHexagon { 932fe6060f1SDimitry Andric bits <6> Ii; 933fe6060f1SDimitry Andric let Inst{22-21} = Ii{5-4}; 934fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 935fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 936fe6060f1SDimitry Andric bits <5> Ru32; 937fe6060f1SDimitry Andric let Inst{4-0} = Ru32{4-0}; 938fe6060f1SDimitry Andric bits <5> Rs32; 939fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 940fe6060f1SDimitry Andric bits <5> Rd32; 941fe6060f1SDimitry Andric let Inst{12-8} = Rd32{4-0}; 942fe6060f1SDimitry Andric} 943fe6060f1SDimitry Andricclass Enc_437f33 : OpcodeHexagon { 944fe6060f1SDimitry Andric bits <5> Rs32; 945fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 946fe6060f1SDimitry Andric bits <5> Rt32; 947fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 948fe6060f1SDimitry Andric bits <2> Pu4; 949fe6060f1SDimitry Andric let Inst{6-5} = Pu4{1-0}; 950fe6060f1SDimitry Andric bits <5> Rx32; 951fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 952fe6060f1SDimitry Andric} 953fe6060f1SDimitry Andricclass Enc_44215c : OpcodeHexagon { 954fe6060f1SDimitry Andric bits <6> Ii; 955fe6060f1SDimitry Andric let Inst{17-16} = Ii{5-4}; 956fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 957fe6060f1SDimitry Andric bits <2> Pv4; 958fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 959fe6060f1SDimitry Andric bits <3> Nt8; 960fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 961fe6060f1SDimitry Andric} 962fe6060f1SDimitry Andricclass Enc_44271f : OpcodeHexagon { 963fe6060f1SDimitry Andric bits <5> Gs32; 964fe6060f1SDimitry Andric let Inst{20-16} = Gs32{4-0}; 965fe6060f1SDimitry Andric bits <5> Rd32; 966fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 967fe6060f1SDimitry Andric} 968fe6060f1SDimitry Andricclass Enc_44661f : OpcodeHexagon { 969fe6060f1SDimitry Andric bits <1> Mu2; 970fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 971fe6060f1SDimitry Andric bits <5> Rx32; 972fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 973fe6060f1SDimitry Andric} 974fe6060f1SDimitry Andricclass Enc_448f7f : OpcodeHexagon { 975fe6060f1SDimitry Andric bits <11> Ii; 976fe6060f1SDimitry Andric let Inst{26-25} = Ii{10-9}; 977fe6060f1SDimitry Andric let Inst{13-13} = Ii{8-8}; 978fe6060f1SDimitry Andric let Inst{7-0} = Ii{7-0}; 979fe6060f1SDimitry Andric bits <5> Rs32; 980fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 981fe6060f1SDimitry Andric bits <5> Rt32; 982fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 983fe6060f1SDimitry Andric} 984fe6060f1SDimitry Andricclass Enc_45364e : OpcodeHexagon { 985fe6060f1SDimitry Andric bits <5> Vu32; 986fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 987fe6060f1SDimitry Andric bits <5> Vv32; 988fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 989fe6060f1SDimitry Andric bits <5> Vd32; 990fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 991fe6060f1SDimitry Andric} 992fe6060f1SDimitry Andricclass Enc_454a26 : OpcodeHexagon { 993fe6060f1SDimitry Andric bits <2> Pt4; 994fe6060f1SDimitry Andric let Inst{9-8} = Pt4{1-0}; 995fe6060f1SDimitry Andric bits <2> Ps4; 996fe6060f1SDimitry Andric let Inst{17-16} = Ps4{1-0}; 997fe6060f1SDimitry Andric bits <2> Pd4; 998fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 999fe6060f1SDimitry Andric} 1000fe6060f1SDimitry Andricclass Enc_46c951 : OpcodeHexagon { 1001fe6060f1SDimitry Andric bits <6> Ii; 1002fe6060f1SDimitry Andric let Inst{12-7} = Ii{5-0}; 1003fe6060f1SDimitry Andric bits <5> II; 1004fe6060f1SDimitry Andric let Inst{4-0} = II{4-0}; 1005fe6060f1SDimitry Andric bits <5> Rs32; 1006fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1007fe6060f1SDimitry Andric} 1008*5f757f3fSDimitry Andricclass Enc_46f33d : OpcodeHexagon { 1009*5f757f3fSDimitry Andric bits <5> Rss32; 1010*5f757f3fSDimitry Andric let Inst{20-16} = Rss32{4-0}; 1011*5f757f3fSDimitry Andric bits <5> Rt32; 1012*5f757f3fSDimitry Andric let Inst{12-8} = Rt32{4-0}; 1013*5f757f3fSDimitry Andric} 1014fe6060f1SDimitry Andricclass Enc_47ee5e : OpcodeHexagon { 1015fe6060f1SDimitry Andric bits <2> Ii; 1016fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1017fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 1018fe6060f1SDimitry Andric bits <2> Pv4; 1019fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 1020fe6060f1SDimitry Andric bits <5> Rs32; 1021fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1022fe6060f1SDimitry Andric bits <5> Ru32; 1023fe6060f1SDimitry Andric let Inst{12-8} = Ru32{4-0}; 1024fe6060f1SDimitry Andric bits <3> Nt8; 1025fe6060f1SDimitry Andric let Inst{2-0} = Nt8{2-0}; 1026fe6060f1SDimitry Andric} 1027fe6060f1SDimitry Andricclass Enc_47ef61 : OpcodeHexagon { 1028fe6060f1SDimitry Andric bits <3> Ii; 1029fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 1030fe6060f1SDimitry Andric bits <5> Rt32; 1031fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1032fe6060f1SDimitry Andric bits <5> Rs32; 1033fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1034fe6060f1SDimitry Andric bits <5> Rd32; 1035fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1036fe6060f1SDimitry Andric} 1037fe6060f1SDimitry Andricclass Enc_48b75f : OpcodeHexagon { 1038fe6060f1SDimitry Andric bits <5> Rs32; 1039fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1040fe6060f1SDimitry Andric bits <2> Pd4; 1041fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 1042fe6060f1SDimitry Andric} 1043fe6060f1SDimitry Andricclass Enc_4aca3a : OpcodeHexagon { 1044fe6060f1SDimitry Andric bits <11> Ii; 1045fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1046fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1047fe6060f1SDimitry Andric bits <3> Ns8; 1048fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 1049fe6060f1SDimitry Andric bits <3> n1; 1050fe6060f1SDimitry Andric let Inst{29-29} = n1{2-2}; 1051fe6060f1SDimitry Andric let Inst{26-25} = n1{1-0}; 1052fe6060f1SDimitry Andric} 1053fe6060f1SDimitry Andricclass Enc_4b39e4 : OpcodeHexagon { 1054fe6060f1SDimitry Andric bits <3> Ii; 1055fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 1056fe6060f1SDimitry Andric bits <5> Vu32; 1057fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1058fe6060f1SDimitry Andric bits <5> Vv32; 1059fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 1060fe6060f1SDimitry Andric bits <5> Vdd32; 1061fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 1062fe6060f1SDimitry Andric} 1063fe6060f1SDimitry Andricclass Enc_4dc228 : OpcodeHexagon { 1064fe6060f1SDimitry Andric bits <9> Ii; 1065fe6060f1SDimitry Andric let Inst{12-8} = Ii{8-4}; 1066fe6060f1SDimitry Andric let Inst{4-3} = Ii{3-2}; 1067fe6060f1SDimitry Andric bits <10> II; 1068fe6060f1SDimitry Andric let Inst{20-16} = II{9-5}; 1069fe6060f1SDimitry Andric let Inst{7-5} = II{4-2}; 1070fe6060f1SDimitry Andric let Inst{1-0} = II{1-0}; 1071fe6060f1SDimitry Andric} 1072fe6060f1SDimitry Andricclass Enc_4df4e9 : OpcodeHexagon { 1073fe6060f1SDimitry Andric bits <11> Ii; 1074fe6060f1SDimitry Andric let Inst{26-25} = Ii{10-9}; 1075fe6060f1SDimitry Andric let Inst{13-13} = Ii{8-8}; 1076fe6060f1SDimitry Andric let Inst{7-0} = Ii{7-0}; 1077fe6060f1SDimitry Andric bits <5> Rs32; 1078fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1079fe6060f1SDimitry Andric bits <3> Nt8; 1080fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1081fe6060f1SDimitry Andric} 1082fe6060f1SDimitry Andricclass Enc_4dff07 : OpcodeHexagon { 1083fe6060f1SDimitry Andric bits <2> Qv4; 1084fe6060f1SDimitry Andric let Inst{12-11} = Qv4{1-0}; 1085fe6060f1SDimitry Andric bits <1> Mu2; 1086fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1087fe6060f1SDimitry Andric bits <5> Vs32; 1088fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 1089fe6060f1SDimitry Andric bits <5> Rx32; 1090fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1091fe6060f1SDimitry Andric} 1092fe6060f1SDimitry Andricclass Enc_4e4a80 : OpcodeHexagon { 1093fe6060f1SDimitry Andric bits <2> Qs4; 1094fe6060f1SDimitry Andric let Inst{6-5} = Qs4{1-0}; 1095fe6060f1SDimitry Andric bits <5> Rt32; 1096fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1097fe6060f1SDimitry Andric bits <1> Mu2; 1098fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1099fe6060f1SDimitry Andric bits <5> Vvv32; 1100fe6060f1SDimitry Andric let Inst{4-0} = Vvv32{4-0}; 1101fe6060f1SDimitry Andric} 1102fe6060f1SDimitry Andricclass Enc_4f4ed7 : OpcodeHexagon { 1103fe6060f1SDimitry Andric bits <18> Ii; 1104fe6060f1SDimitry Andric let Inst{26-25} = Ii{17-16}; 1105fe6060f1SDimitry Andric let Inst{20-16} = Ii{15-11}; 1106fe6060f1SDimitry Andric let Inst{13-5} = Ii{10-2}; 1107fe6060f1SDimitry Andric bits <5> Rd32; 1108fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1109fe6060f1SDimitry Andric} 1110fe6060f1SDimitry Andricclass Enc_4f677b : OpcodeHexagon { 1111fe6060f1SDimitry Andric bits <2> Ii; 1112fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1113fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 1114fe6060f1SDimitry Andric bits <6> II; 1115fe6060f1SDimitry Andric let Inst{11-8} = II{5-2}; 1116fe6060f1SDimitry Andric let Inst{6-5} = II{1-0}; 1117fe6060f1SDimitry Andric bits <5> Rt32; 1118fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1119fe6060f1SDimitry Andric bits <5> Rd32; 1120fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1121fe6060f1SDimitry Andric} 1122fe6060f1SDimitry Andricclass Enc_500cb0 : OpcodeHexagon { 1123fe6060f1SDimitry Andric bits <5> Vu32; 1124fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1125fe6060f1SDimitry Andric bits <5> Vxx32; 1126fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 1127fe6060f1SDimitry Andric} 1128fe6060f1SDimitry Andricclass Enc_509701 : OpcodeHexagon { 1129fe6060f1SDimitry Andric bits <19> Ii; 1130fe6060f1SDimitry Andric let Inst{26-25} = Ii{18-17}; 1131fe6060f1SDimitry Andric let Inst{20-16} = Ii{16-12}; 1132fe6060f1SDimitry Andric let Inst{13-5} = Ii{11-3}; 1133fe6060f1SDimitry Andric bits <5> Rdd32; 1134fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1135fe6060f1SDimitry Andric} 1136fe6060f1SDimitry Andricclass Enc_50b5ac : OpcodeHexagon { 1137fe6060f1SDimitry Andric bits <6> Ii; 1138fe6060f1SDimitry Andric let Inst{17-16} = Ii{5-4}; 1139fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 1140fe6060f1SDimitry Andric bits <2> Pv4; 1141fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 1142fe6060f1SDimitry Andric bits <5> Rtt32; 1143fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1144fe6060f1SDimitry Andric} 1145fe6060f1SDimitry Andricclass Enc_50e578 : OpcodeHexagon { 1146fe6060f1SDimitry Andric bits <5> Vu32; 1147fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1148fe6060f1SDimitry Andric bits <5> Rs32; 1149fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1150fe6060f1SDimitry Andric bits <5> Rd32; 1151fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1152fe6060f1SDimitry Andric} 1153fe6060f1SDimitry Andricclass Enc_5138b3 : OpcodeHexagon { 1154fe6060f1SDimitry Andric bits <5> Vu32; 1155fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1156fe6060f1SDimitry Andric bits <5> Rt32; 1157fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1158fe6060f1SDimitry Andric bits <5> Vx32; 1159fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 1160fe6060f1SDimitry Andric} 1161fe6060f1SDimitry Andricclass Enc_51436c : OpcodeHexagon { 1162fe6060f1SDimitry Andric bits <16> Ii; 1163fe6060f1SDimitry Andric let Inst{23-22} = Ii{15-14}; 1164fe6060f1SDimitry Andric let Inst{13-0} = Ii{13-0}; 1165fe6060f1SDimitry Andric bits <5> Rx32; 1166fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1167fe6060f1SDimitry Andric} 1168fe6060f1SDimitry Andricclass Enc_51635c : OpcodeHexagon { 1169fe6060f1SDimitry Andric bits <7> Ii; 1170fe6060f1SDimitry Andric let Inst{8-4} = Ii{6-2}; 1171fe6060f1SDimitry Andric bits <4> Rd16; 1172fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 1173fe6060f1SDimitry Andric} 1174fe6060f1SDimitry Andricclass Enc_527412 : OpcodeHexagon { 1175fe6060f1SDimitry Andric bits <2> Ps4; 1176fe6060f1SDimitry Andric let Inst{17-16} = Ps4{1-0}; 1177fe6060f1SDimitry Andric bits <2> Pt4; 1178fe6060f1SDimitry Andric let Inst{9-8} = Pt4{1-0}; 1179fe6060f1SDimitry Andric bits <5> Rd32; 1180fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1181fe6060f1SDimitry Andric} 1182fe6060f1SDimitry Andricclass Enc_52a5dd : OpcodeHexagon { 1183fe6060f1SDimitry Andric bits <4> Ii; 1184fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 1185fe6060f1SDimitry Andric bits <2> Pv4; 1186fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 1187fe6060f1SDimitry Andric bits <3> Nt8; 1188fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1189fe6060f1SDimitry Andric bits <5> Rx32; 1190fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1191fe6060f1SDimitry Andric} 1192fe6060f1SDimitry Andricclass Enc_53dca9 : OpcodeHexagon { 1193fe6060f1SDimitry Andric bits <6> Ii; 1194fe6060f1SDimitry Andric let Inst{11-8} = Ii{5-2}; 1195fe6060f1SDimitry Andric bits <4> Rs16; 1196fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 1197fe6060f1SDimitry Andric bits <4> Rd16; 1198fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 1199fe6060f1SDimitry Andric} 1200fe6060f1SDimitry Andricclass Enc_541f26 : OpcodeHexagon { 1201fe6060f1SDimitry Andric bits <18> Ii; 1202fe6060f1SDimitry Andric let Inst{26-25} = Ii{17-16}; 1203fe6060f1SDimitry Andric let Inst{20-16} = Ii{15-11}; 1204fe6060f1SDimitry Andric let Inst{13-13} = Ii{10-10}; 1205fe6060f1SDimitry Andric let Inst{7-0} = Ii{9-2}; 1206fe6060f1SDimitry Andric bits <5> Rt32; 1207fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1208fe6060f1SDimitry Andric} 1209fe6060f1SDimitry Andricclass Enc_55355c : OpcodeHexagon { 1210fe6060f1SDimitry Andric bits <2> Ii; 1211fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1212fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 1213fe6060f1SDimitry Andric bits <5> Rs32; 1214fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1215fe6060f1SDimitry Andric bits <5> Ru32; 1216fe6060f1SDimitry Andric let Inst{12-8} = Ru32{4-0}; 1217fe6060f1SDimitry Andric bits <5> Rtt32; 1218fe6060f1SDimitry Andric let Inst{4-0} = Rtt32{4-0}; 1219fe6060f1SDimitry Andric} 1220fe6060f1SDimitry Andricclass Enc_569cfe : OpcodeHexagon { 1221fe6060f1SDimitry Andric bits <5> Rt32; 1222fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1223fe6060f1SDimitry Andric bits <5> Vx32; 1224fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 1225fe6060f1SDimitry Andric} 1226fe6060f1SDimitry Andricclass Enc_57a33e : OpcodeHexagon { 1227fe6060f1SDimitry Andric bits <9> Ii; 1228fe6060f1SDimitry Andric let Inst{13-13} = Ii{8-8}; 1229fe6060f1SDimitry Andric let Inst{7-3} = Ii{7-3}; 1230fe6060f1SDimitry Andric bits <2> Pv4; 1231fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 1232fe6060f1SDimitry Andric bits <5> Rs32; 1233fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1234fe6060f1SDimitry Andric bits <5> Rtt32; 1235fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1236fe6060f1SDimitry Andric} 1237fe6060f1SDimitry Andricclass Enc_585242 : OpcodeHexagon { 1238fe6060f1SDimitry Andric bits <6> Ii; 1239fe6060f1SDimitry Andric let Inst{13-13} = Ii{5-5}; 1240fe6060f1SDimitry Andric let Inst{7-3} = Ii{4-0}; 1241fe6060f1SDimitry Andric bits <2> Pv4; 1242fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 1243fe6060f1SDimitry Andric bits <5> Rs32; 1244fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1245fe6060f1SDimitry Andric bits <3> Nt8; 1246fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1247fe6060f1SDimitry Andric} 1248fe6060f1SDimitry Andricclass Enc_58a8bf : OpcodeHexagon { 1249fe6060f1SDimitry Andric bits <3> Ii; 1250fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 1251fe6060f1SDimitry Andric bits <2> Pv4; 1252fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 1253fe6060f1SDimitry Andric bits <5> Vd32; 1254fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 1255fe6060f1SDimitry Andric bits <5> Rx32; 1256fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1257fe6060f1SDimitry Andric} 1258*5f757f3fSDimitry Andricclass Enc_598f6c : OpcodeHexagon { 1259*5f757f3fSDimitry Andric bits <5> Rtt32; 1260*5f757f3fSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1261*5f757f3fSDimitry Andric} 1262fe6060f1SDimitry Andricclass Enc_5a18b3 : OpcodeHexagon { 1263fe6060f1SDimitry Andric bits <11> Ii; 1264fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1265fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1266fe6060f1SDimitry Andric bits <3> Ns8; 1267fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 1268fe6060f1SDimitry Andric bits <5> n1; 1269fe6060f1SDimitry Andric let Inst{29-29} = n1{4-4}; 1270fe6060f1SDimitry Andric let Inst{26-25} = n1{3-2}; 1271fe6060f1SDimitry Andric let Inst{22-22} = n1{1-1}; 1272fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 1273fe6060f1SDimitry Andric} 1274fe6060f1SDimitry Andricclass Enc_5ab2be : OpcodeHexagon { 1275fe6060f1SDimitry Andric bits <5> Rs32; 1276fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1277fe6060f1SDimitry Andric bits <5> Rt32; 1278fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1279fe6060f1SDimitry Andric bits <5> Rd32; 1280fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1281fe6060f1SDimitry Andric} 1282fe6060f1SDimitry Andricclass Enc_5bdd42 : OpcodeHexagon { 1283fe6060f1SDimitry Andric bits <7> Ii; 1284fe6060f1SDimitry Andric let Inst{8-5} = Ii{6-3}; 1285fe6060f1SDimitry Andric bits <5> Rdd32; 1286fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1287fe6060f1SDimitry Andric bits <5> Rx32; 1288fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1289fe6060f1SDimitry Andric} 1290fe6060f1SDimitry Andricclass Enc_5c124a : OpcodeHexagon { 1291fe6060f1SDimitry Andric bits <19> Ii; 1292fe6060f1SDimitry Andric let Inst{26-25} = Ii{18-17}; 1293fe6060f1SDimitry Andric let Inst{20-16} = Ii{16-12}; 1294fe6060f1SDimitry Andric let Inst{13-13} = Ii{11-11}; 1295fe6060f1SDimitry Andric let Inst{7-0} = Ii{10-3}; 1296fe6060f1SDimitry Andric bits <5> Rtt32; 1297fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1298fe6060f1SDimitry Andric} 1299fe6060f1SDimitry Andricclass Enc_5ccba9 : OpcodeHexagon { 1300fe6060f1SDimitry Andric bits <8> Ii; 1301fe6060f1SDimitry Andric let Inst{12-7} = Ii{7-2}; 1302fe6060f1SDimitry Andric bits <6> II; 1303fe6060f1SDimitry Andric let Inst{13-13} = II{5-5}; 1304fe6060f1SDimitry Andric let Inst{4-0} = II{4-0}; 1305fe6060f1SDimitry Andric bits <2> Pv4; 1306fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 1307fe6060f1SDimitry Andric bits <5> Rs32; 1308fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1309fe6060f1SDimitry Andric} 1310fe6060f1SDimitry Andricclass Enc_5cd7e9 : OpcodeHexagon { 1311fe6060f1SDimitry Andric bits <12> Ii; 1312fe6060f1SDimitry Andric let Inst{26-25} = Ii{11-10}; 1313fe6060f1SDimitry Andric let Inst{13-5} = Ii{9-1}; 1314fe6060f1SDimitry Andric bits <5> Rs32; 1315fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1316fe6060f1SDimitry Andric bits <5> Ryy32; 1317fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 1318fe6060f1SDimitry Andric} 1319fe6060f1SDimitry Andricclass Enc_5d6c34 : OpcodeHexagon { 1320fe6060f1SDimitry Andric bits <6> Ii; 1321fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 1322fe6060f1SDimitry Andric bits <5> Rs32; 1323fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1324fe6060f1SDimitry Andric bits <2> Pd4; 1325fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 1326fe6060f1SDimitry Andric} 1327fe6060f1SDimitry Andricclass Enc_5de85f : OpcodeHexagon { 1328fe6060f1SDimitry Andric bits <11> Ii; 1329fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1330fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1331fe6060f1SDimitry Andric bits <5> Rt32; 1332fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1333fe6060f1SDimitry Andric bits <3> Ns8; 1334fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 1335fe6060f1SDimitry Andric} 1336fe6060f1SDimitry Andricclass Enc_5e2823 : OpcodeHexagon { 1337fe6060f1SDimitry Andric bits <5> Rs32; 1338fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1339fe6060f1SDimitry Andric bits <5> Rd32; 1340fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1341fe6060f1SDimitry Andric} 1342fe6060f1SDimitry Andricclass Enc_5e8512 : OpcodeHexagon { 1343fe6060f1SDimitry Andric bits <5> Vu32; 1344fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1345fe6060f1SDimitry Andric bits <5> Rt32; 1346fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1347fe6060f1SDimitry Andric bits <5> Vxx32; 1348fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 1349fe6060f1SDimitry Andric} 1350fe6060f1SDimitry Andricclass Enc_5e87ce : OpcodeHexagon { 1351fe6060f1SDimitry Andric bits <16> Ii; 1352fe6060f1SDimitry Andric let Inst{23-22} = Ii{15-14}; 1353fe6060f1SDimitry Andric let Inst{20-16} = Ii{13-9}; 1354fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 1355fe6060f1SDimitry Andric bits <5> Rd32; 1356fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1357fe6060f1SDimitry Andric} 1358fe6060f1SDimitry Andricclass Enc_5eac98 : OpcodeHexagon { 1359fe6060f1SDimitry Andric bits <6> Ii; 1360fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 1361fe6060f1SDimitry Andric bits <5> Rss32; 1362fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 1363fe6060f1SDimitry Andric bits <5> Rdd32; 1364fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1365fe6060f1SDimitry Andric} 1366bdd1243dSDimitry Andricclass Enc_5eb169 : OpcodeHexagon { 1367bdd1243dSDimitry Andric bits <3> Ii; 1368bdd1243dSDimitry Andric let Inst{10-8} = Ii{2-0}; 1369bdd1243dSDimitry Andric bits <5> Vdd32; 1370bdd1243dSDimitry Andric let Inst{4-0} = Vdd32{4-0}; 1371bdd1243dSDimitry Andric bits <5> Rx32; 1372bdd1243dSDimitry Andric let Inst{20-16} = Rx32{4-0}; 1373bdd1243dSDimitry Andric} 1374fe6060f1SDimitry Andricclass Enc_607661 : OpcodeHexagon { 1375fe6060f1SDimitry Andric bits <6> Ii; 1376fe6060f1SDimitry Andric let Inst{12-7} = Ii{5-0}; 1377fe6060f1SDimitry Andric bits <5> Rd32; 1378fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1379fe6060f1SDimitry Andric} 1380fe6060f1SDimitry Andricclass Enc_6185fe : OpcodeHexagon { 1381fe6060f1SDimitry Andric bits <2> Ii; 1382fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1383fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 1384fe6060f1SDimitry Andric bits <6> II; 1385fe6060f1SDimitry Andric let Inst{11-8} = II{5-2}; 1386fe6060f1SDimitry Andric let Inst{6-5} = II{1-0}; 1387fe6060f1SDimitry Andric bits <5> Rt32; 1388fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1389fe6060f1SDimitry Andric bits <5> Rdd32; 1390fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1391fe6060f1SDimitry Andric} 1392fe6060f1SDimitry Andricclass Enc_61f0b0 : OpcodeHexagon { 1393fe6060f1SDimitry Andric bits <5> Rs32; 1394fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1395fe6060f1SDimitry Andric bits <5> Rt32; 1396fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1397fe6060f1SDimitry Andric bits <5> Rxx32; 1398fe6060f1SDimitry Andric let Inst{4-0} = Rxx32{4-0}; 1399fe6060f1SDimitry Andric} 1400fe6060f1SDimitry Andricclass Enc_621fba : OpcodeHexagon { 1401fe6060f1SDimitry Andric bits <5> Rs32; 1402fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1403fe6060f1SDimitry Andric bits <5> Gd32; 1404fe6060f1SDimitry Andric let Inst{4-0} = Gd32{4-0}; 1405fe6060f1SDimitry Andric} 1406fe6060f1SDimitry Andricclass Enc_625deb : OpcodeHexagon { 1407fe6060f1SDimitry Andric bits <4> Ii; 1408fe6060f1SDimitry Andric let Inst{10-8} = Ii{3-1}; 1409fe6060f1SDimitry Andric bits <4> Rs16; 1410fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 1411fe6060f1SDimitry Andric bits <4> Rt16; 1412fe6060f1SDimitry Andric let Inst{3-0} = Rt16{3-0}; 1413fe6060f1SDimitry Andric} 1414fe6060f1SDimitry Andricclass Enc_6339d5 : OpcodeHexagon { 1415fe6060f1SDimitry Andric bits <2> Ii; 1416fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1417fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 1418fe6060f1SDimitry Andric bits <2> Pv4; 1419fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 1420fe6060f1SDimitry Andric bits <5> Rs32; 1421fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1422fe6060f1SDimitry Andric bits <5> Ru32; 1423fe6060f1SDimitry Andric let Inst{12-8} = Ru32{4-0}; 1424fe6060f1SDimitry Andric bits <5> Rt32; 1425fe6060f1SDimitry Andric let Inst{4-0} = Rt32{4-0}; 1426fe6060f1SDimitry Andric} 1427bdd1243dSDimitry Andricclass Enc_634460 : OpcodeHexagon { 1428bdd1243dSDimitry Andric bits <4> Ii; 1429bdd1243dSDimitry Andric let Inst{13-13} = Ii{3-3}; 1430bdd1243dSDimitry Andric let Inst{10-8} = Ii{2-0}; 1431bdd1243dSDimitry Andric bits <5> Rt32; 1432bdd1243dSDimitry Andric let Inst{20-16} = Rt32{4-0}; 1433bdd1243dSDimitry Andric bits <5> Vdd32; 1434bdd1243dSDimitry Andric let Inst{4-0} = Vdd32{4-0}; 1435bdd1243dSDimitry Andric} 1436fe6060f1SDimitry Andricclass Enc_63eaeb : OpcodeHexagon { 1437fe6060f1SDimitry Andric bits <2> Ii; 1438fe6060f1SDimitry Andric let Inst{1-0} = Ii{1-0}; 1439fe6060f1SDimitry Andric bits <4> Rs16; 1440fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 1441fe6060f1SDimitry Andric} 1442fe6060f1SDimitry Andricclass Enc_6413b6 : OpcodeHexagon { 1443fe6060f1SDimitry Andric bits <11> Ii; 1444fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1445fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1446fe6060f1SDimitry Andric bits <3> Ns8; 1447fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 1448fe6060f1SDimitry Andric bits <5> n1; 1449fe6060f1SDimitry Andric let Inst{29-29} = n1{4-4}; 1450fe6060f1SDimitry Andric let Inst{26-25} = n1{3-2}; 1451fe6060f1SDimitry Andric let Inst{23-23} = n1{1-1}; 1452fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 1453fe6060f1SDimitry Andric} 1454fe6060f1SDimitry Andricclass Enc_645d54 : OpcodeHexagon { 1455fe6060f1SDimitry Andric bits <2> Ii; 1456fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1457fe6060f1SDimitry Andric let Inst{5-5} = Ii{0-0}; 1458fe6060f1SDimitry Andric bits <5> Rss32; 1459fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 1460fe6060f1SDimitry Andric bits <5> Rt32; 1461fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1462fe6060f1SDimitry Andric bits <5> Rdd32; 1463fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1464fe6060f1SDimitry Andric} 1465fe6060f1SDimitry Andricclass Enc_65d691 : OpcodeHexagon { 1466fe6060f1SDimitry Andric bits <2> Ps4; 1467fe6060f1SDimitry Andric let Inst{17-16} = Ps4{1-0}; 1468fe6060f1SDimitry Andric bits <2> Pd4; 1469fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 1470fe6060f1SDimitry Andric} 1471fe6060f1SDimitry Andricclass Enc_65f095 : OpcodeHexagon { 1472fe6060f1SDimitry Andric bits <6> Ii; 1473fe6060f1SDimitry Andric let Inst{6-3} = Ii{5-2}; 1474fe6060f1SDimitry Andric bits <2> Pv4; 1475fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 1476fe6060f1SDimitry Andric bits <3> Nt8; 1477fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1478fe6060f1SDimitry Andric bits <5> Rx32; 1479fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1480fe6060f1SDimitry Andric} 1481fe6060f1SDimitry Andricclass Enc_667b39 : OpcodeHexagon { 1482fe6060f1SDimitry Andric bits <5> Css32; 1483fe6060f1SDimitry Andric let Inst{20-16} = Css32{4-0}; 1484fe6060f1SDimitry Andric bits <5> Rdd32; 1485fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1486fe6060f1SDimitry Andric} 1487fe6060f1SDimitry Andricclass Enc_668704 : OpcodeHexagon { 1488fe6060f1SDimitry Andric bits <11> Ii; 1489fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1490fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1491fe6060f1SDimitry Andric bits <4> Rs16; 1492fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 1493fe6060f1SDimitry Andric bits <5> n1; 1494fe6060f1SDimitry Andric let Inst{28-28} = n1{4-4}; 1495fe6060f1SDimitry Andric let Inst{25-22} = n1{3-0}; 1496fe6060f1SDimitry Andric} 1497fe6060f1SDimitry Andricclass Enc_66bce1 : OpcodeHexagon { 1498fe6060f1SDimitry Andric bits <11> Ii; 1499fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1500fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1501fe6060f1SDimitry Andric bits <4> Rs16; 1502fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 1503fe6060f1SDimitry Andric bits <4> Rd16; 1504fe6060f1SDimitry Andric let Inst{11-8} = Rd16{3-0}; 1505fe6060f1SDimitry Andric} 1506fe6060f1SDimitry Andricclass Enc_690862 : OpcodeHexagon { 1507fe6060f1SDimitry Andric bits <13> Ii; 1508fe6060f1SDimitry Andric let Inst{26-25} = Ii{12-11}; 1509fe6060f1SDimitry Andric let Inst{13-13} = Ii{10-10}; 1510fe6060f1SDimitry Andric let Inst{7-0} = Ii{9-2}; 1511fe6060f1SDimitry Andric bits <5> Rs32; 1512fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1513fe6060f1SDimitry Andric bits <3> Nt8; 1514fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1515fe6060f1SDimitry Andric} 1516fe6060f1SDimitry Andricclass Enc_691712 : OpcodeHexagon { 1517fe6060f1SDimitry Andric bits <2> Pv4; 1518fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 1519fe6060f1SDimitry Andric bits <1> Mu2; 1520fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1521fe6060f1SDimitry Andric bits <5> Rx32; 1522fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1523fe6060f1SDimitry Andric} 1524fe6060f1SDimitry Andricclass Enc_69d63b : OpcodeHexagon { 1525fe6060f1SDimitry Andric bits <11> Ii; 1526fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1527fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1528fe6060f1SDimitry Andric bits <3> Ns8; 1529fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 1530fe6060f1SDimitry Andric} 1531fe6060f1SDimitry Andricclass Enc_6a5972 : OpcodeHexagon { 1532fe6060f1SDimitry Andric bits <11> Ii; 1533fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1534fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1535fe6060f1SDimitry Andric bits <4> Rs16; 1536fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 1537fe6060f1SDimitry Andric bits <4> Rt16; 1538fe6060f1SDimitry Andric let Inst{11-8} = Rt16{3-0}; 1539fe6060f1SDimitry Andric} 1540fe6060f1SDimitry Andricclass Enc_6b197f : OpcodeHexagon { 1541fe6060f1SDimitry Andric bits <4> Ii; 1542fe6060f1SDimitry Andric let Inst{8-5} = Ii{3-0}; 1543fe6060f1SDimitry Andric bits <5> Ryy32; 1544fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 1545fe6060f1SDimitry Andric bits <5> Rx32; 1546fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1547fe6060f1SDimitry Andric} 1548fe6060f1SDimitry Andricclass Enc_6baed4 : OpcodeHexagon { 1549fe6060f1SDimitry Andric bits <3> Ii; 1550fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 1551fe6060f1SDimitry Andric bits <2> Pv4; 1552fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 1553fe6060f1SDimitry Andric bits <5> Rx32; 1554fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1555fe6060f1SDimitry Andric} 1556fe6060f1SDimitry Andricclass Enc_6c9440 : OpcodeHexagon { 1557fe6060f1SDimitry Andric bits <10> Ii; 1558fe6060f1SDimitry Andric let Inst{21-21} = Ii{9-9}; 1559fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 1560fe6060f1SDimitry Andric bits <5> Rd32; 1561fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1562fe6060f1SDimitry Andric} 1563fe6060f1SDimitry Andricclass Enc_6c9ee0 : OpcodeHexagon { 1564fe6060f1SDimitry Andric bits <3> Ii; 1565fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 1566fe6060f1SDimitry Andric bits <5> Rx32; 1567fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1568fe6060f1SDimitry Andric} 1569fe6060f1SDimitry Andricclass Enc_6f70ca : OpcodeHexagon { 1570fe6060f1SDimitry Andric bits <8> Ii; 1571fe6060f1SDimitry Andric let Inst{8-4} = Ii{7-3}; 1572fe6060f1SDimitry Andric} 1573fe6060f1SDimitry Andricclass Enc_6f83e7 : OpcodeHexagon { 1574fe6060f1SDimitry Andric bits <2> Qv4; 1575fe6060f1SDimitry Andric let Inst{23-22} = Qv4{1-0}; 1576fe6060f1SDimitry Andric bits <5> Vd32; 1577fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 1578fe6060f1SDimitry Andric} 1579fe6060f1SDimitry Andricclass Enc_70b24b : OpcodeHexagon { 1580fe6060f1SDimitry Andric bits <6> Ii; 1581fe6060f1SDimitry Andric let Inst{8-5} = Ii{5-2}; 1582fe6060f1SDimitry Andric bits <1> Mu2; 1583fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1584fe6060f1SDimitry Andric bits <5> Rdd32; 1585fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1586fe6060f1SDimitry Andric bits <5> Rx32; 1587fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1588fe6060f1SDimitry Andric} 1589fe6060f1SDimitry Andricclass Enc_70fb07 : OpcodeHexagon { 1590fe6060f1SDimitry Andric bits <6> Ii; 1591fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 1592fe6060f1SDimitry Andric bits <5> Rss32; 1593fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 1594fe6060f1SDimitry Andric bits <5> Rxx32; 1595fe6060f1SDimitry Andric let Inst{4-0} = Rxx32{4-0}; 1596fe6060f1SDimitry Andric} 1597fe6060f1SDimitry Andricclass Enc_71bb9b : OpcodeHexagon { 1598fe6060f1SDimitry Andric bits <5> Vu32; 1599fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1600fe6060f1SDimitry Andric bits <5> Vv32; 1601fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 1602fe6060f1SDimitry Andric bits <5> Vdd32; 1603fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 1604fe6060f1SDimitry Andric} 1605fe6060f1SDimitry Andricclass Enc_71f1b4 : OpcodeHexagon { 1606fe6060f1SDimitry Andric bits <6> Ii; 1607fe6060f1SDimitry Andric let Inst{8-5} = Ii{5-2}; 1608fe6060f1SDimitry Andric bits <5> Rdd32; 1609fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1610fe6060f1SDimitry Andric bits <5> Rx32; 1611fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1612fe6060f1SDimitry Andric} 1613fe6060f1SDimitry Andricclass Enc_7222b7 : OpcodeHexagon { 1614fe6060f1SDimitry Andric bits <5> Rt32; 1615fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1616fe6060f1SDimitry Andric bits <2> Qd4; 1617fe6060f1SDimitry Andric let Inst{1-0} = Qd4{1-0}; 1618fe6060f1SDimitry Andric} 1619fe6060f1SDimitry Andricclass Enc_724154 : OpcodeHexagon { 1620fe6060f1SDimitry Andric bits <6> II; 1621fe6060f1SDimitry Andric let Inst{5-0} = II{5-0}; 1622fe6060f1SDimitry Andric bits <3> Nt8; 1623fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1624fe6060f1SDimitry Andric bits <5> Re32; 1625fe6060f1SDimitry Andric let Inst{20-16} = Re32{4-0}; 1626fe6060f1SDimitry Andric} 1627fe6060f1SDimitry Andricclass Enc_729ff7 : OpcodeHexagon { 1628fe6060f1SDimitry Andric bits <3> Ii; 1629fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 1630fe6060f1SDimitry Andric bits <5> Rtt32; 1631fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1632fe6060f1SDimitry Andric bits <5> Rss32; 1633fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 1634fe6060f1SDimitry Andric bits <5> Rdd32; 1635fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1636fe6060f1SDimitry Andric} 1637fe6060f1SDimitry Andricclass Enc_733b27 : OpcodeHexagon { 1638fe6060f1SDimitry Andric bits <5> Ii; 1639fe6060f1SDimitry Andric let Inst{8-5} = Ii{4-1}; 1640fe6060f1SDimitry Andric bits <2> Pt4; 1641fe6060f1SDimitry Andric let Inst{10-9} = Pt4{1-0}; 1642fe6060f1SDimitry Andric bits <5> Rd32; 1643fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1644fe6060f1SDimitry Andric bits <5> Rx32; 1645fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1646fe6060f1SDimitry Andric} 1647fe6060f1SDimitry Andricclass Enc_736575 : OpcodeHexagon { 1648fe6060f1SDimitry Andric bits <11> Ii; 1649fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1650fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1651fe6060f1SDimitry Andric bits <4> Rs16; 1652fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 1653fe6060f1SDimitry Andric bits <4> n1; 1654fe6060f1SDimitry Andric let Inst{28-28} = n1{3-3}; 1655fe6060f1SDimitry Andric let Inst{25-23} = n1{2-0}; 1656fe6060f1SDimitry Andric} 1657fe6060f1SDimitry Andricclass Enc_74aef2 : OpcodeHexagon { 1658fe6060f1SDimitry Andric bits <4> Ii; 1659fe6060f1SDimitry Andric let Inst{8-5} = Ii{3-0}; 1660fe6060f1SDimitry Andric bits <1> Mu2; 1661fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1662fe6060f1SDimitry Andric bits <5> Ryy32; 1663fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 1664fe6060f1SDimitry Andric bits <5> Rx32; 1665fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1666fe6060f1SDimitry Andric} 1667fe6060f1SDimitry Andricclass Enc_74d4e5 : OpcodeHexagon { 1668fe6060f1SDimitry Andric bits <1> Mu2; 1669fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1670fe6060f1SDimitry Andric bits <5> Rd32; 1671fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1672fe6060f1SDimitry Andric bits <5> Rx32; 1673fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1674fe6060f1SDimitry Andric} 1675fe6060f1SDimitry Andricclass Enc_770858 : OpcodeHexagon { 1676fe6060f1SDimitry Andric bits <2> Ps4; 1677fe6060f1SDimitry Andric let Inst{6-5} = Ps4{1-0}; 1678fe6060f1SDimitry Andric bits <5> Vu32; 1679fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1680fe6060f1SDimitry Andric bits <5> Vd32; 1681fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 1682fe6060f1SDimitry Andric} 1683fe6060f1SDimitry Andricclass Enc_784502 : OpcodeHexagon { 1684fe6060f1SDimitry Andric bits <3> Ii; 1685fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 1686fe6060f1SDimitry Andric bits <2> Pv4; 1687fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 1688fe6060f1SDimitry Andric bits <3> Os8; 1689fe6060f1SDimitry Andric let Inst{2-0} = Os8{2-0}; 1690fe6060f1SDimitry Andric bits <5> Rx32; 1691fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1692fe6060f1SDimitry Andric} 1693fe6060f1SDimitry Andricclass Enc_78cbf0 : OpcodeHexagon { 1694fe6060f1SDimitry Andric bits <18> Ii; 1695fe6060f1SDimitry Andric let Inst{26-25} = Ii{17-16}; 1696fe6060f1SDimitry Andric let Inst{20-16} = Ii{15-11}; 1697fe6060f1SDimitry Andric let Inst{13-13} = Ii{10-10}; 1698fe6060f1SDimitry Andric let Inst{7-0} = Ii{9-2}; 1699fe6060f1SDimitry Andric bits <3> Nt8; 1700fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1701fe6060f1SDimitry Andric} 1702fe6060f1SDimitry Andricclass Enc_78e566 : OpcodeHexagon { 1703fe6060f1SDimitry Andric bits <2> Pt4; 1704fe6060f1SDimitry Andric let Inst{9-8} = Pt4{1-0}; 1705fe6060f1SDimitry Andric bits <5> Rdd32; 1706fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1707fe6060f1SDimitry Andric} 1708fe6060f1SDimitry Andricclass Enc_79b8c8 : OpcodeHexagon { 1709fe6060f1SDimitry Andric bits <6> Ii; 1710fe6060f1SDimitry Andric let Inst{6-3} = Ii{5-2}; 1711fe6060f1SDimitry Andric bits <1> Mu2; 1712fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1713fe6060f1SDimitry Andric bits <5> Rt32; 1714fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1715fe6060f1SDimitry Andric bits <5> Rx32; 1716fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1717fe6060f1SDimitry Andric} 1718fe6060f1SDimitry Andricclass Enc_7a0ea6 : OpcodeHexagon { 1719fe6060f1SDimitry Andric bits <4> Rd16; 1720fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 1721fe6060f1SDimitry Andric bits <1> n1; 1722fe6060f1SDimitry Andric let Inst{9-9} = n1{0-0}; 1723fe6060f1SDimitry Andric} 1724fe6060f1SDimitry Andricclass Enc_7b523d : OpcodeHexagon { 1725fe6060f1SDimitry Andric bits <5> Vu32; 1726fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 1727fe6060f1SDimitry Andric bits <5> Vv32; 1728fe6060f1SDimitry Andric let Inst{23-19} = Vv32{4-0}; 1729fe6060f1SDimitry Andric bits <3> Rt8; 1730fe6060f1SDimitry Andric let Inst{18-16} = Rt8{2-0}; 1731fe6060f1SDimitry Andric bits <5> Vxx32; 1732fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 1733fe6060f1SDimitry Andric} 1734fe6060f1SDimitry Andricclass Enc_7b7ba8 : OpcodeHexagon { 1735fe6060f1SDimitry Andric bits <2> Qu4; 1736fe6060f1SDimitry Andric let Inst{9-8} = Qu4{1-0}; 1737fe6060f1SDimitry Andric bits <5> Rt32; 1738fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1739fe6060f1SDimitry Andric bits <5> Vd32; 1740fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 1741fe6060f1SDimitry Andric} 1742349cc55cSDimitry Andricclass Enc_7d1542 : OpcodeHexagon { 1743349cc55cSDimitry Andric bits <7> Ss128; 1744349cc55cSDimitry Andric let Inst{22-16} = Ss128{6-0}; 1745349cc55cSDimitry Andric bits <5> Rd32; 1746349cc55cSDimitry Andric let Inst{4-0} = Rd32{4-0}; 1747349cc55cSDimitry Andric} 1748fe6060f1SDimitry Andricclass Enc_7e5a82 : OpcodeHexagon { 1749fe6060f1SDimitry Andric bits <5> Ii; 1750fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 1751fe6060f1SDimitry Andric bits <5> Rss32; 1752fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 1753fe6060f1SDimitry Andric bits <5> Rdd32; 1754fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1755fe6060f1SDimitry Andric} 1756fe6060f1SDimitry Andricclass Enc_7eaeb6 : OpcodeHexagon { 1757fe6060f1SDimitry Andric bits <6> Ii; 1758fe6060f1SDimitry Andric let Inst{6-3} = Ii{5-2}; 1759fe6060f1SDimitry Andric bits <2> Pv4; 1760fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 1761fe6060f1SDimitry Andric bits <5> Rt32; 1762fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1763fe6060f1SDimitry Andric bits <5> Rx32; 1764fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1765fe6060f1SDimitry Andric} 1766fe6060f1SDimitry Andricclass Enc_7eb485 : OpcodeHexagon { 1767fe6060f1SDimitry Andric bits <2> Ii; 1768fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1769fe6060f1SDimitry Andric let Inst{6-6} = Ii{0-0}; 1770fe6060f1SDimitry Andric bits <6> II; 1771fe6060f1SDimitry Andric let Inst{5-0} = II{5-0}; 1772fe6060f1SDimitry Andric bits <5> Ru32; 1773fe6060f1SDimitry Andric let Inst{20-16} = Ru32{4-0}; 1774fe6060f1SDimitry Andric bits <3> Nt8; 1775fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 1776fe6060f1SDimitry Andric} 1777fe6060f1SDimitry Andricclass Enc_7eee72 : OpcodeHexagon { 1778fe6060f1SDimitry Andric bits <1> Mu2; 1779fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1780fe6060f1SDimitry Andric bits <5> Rdd32; 1781fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1782fe6060f1SDimitry Andric bits <5> Rx32; 1783fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1784fe6060f1SDimitry Andric} 1785fe6060f1SDimitry Andricclass Enc_7f1a05 : OpcodeHexagon { 1786fe6060f1SDimitry Andric bits <5> Ru32; 1787fe6060f1SDimitry Andric let Inst{4-0} = Ru32{4-0}; 1788fe6060f1SDimitry Andric bits <5> Rs32; 1789fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1790fe6060f1SDimitry Andric bits <5> Ry32; 1791fe6060f1SDimitry Andric let Inst{12-8} = Ry32{4-0}; 1792fe6060f1SDimitry Andric} 1793fe6060f1SDimitry Andricclass Enc_7fa7f6 : OpcodeHexagon { 1794fe6060f1SDimitry Andric bits <6> II; 1795fe6060f1SDimitry Andric let Inst{11-8} = II{5-2}; 1796fe6060f1SDimitry Andric let Inst{6-5} = II{1-0}; 1797fe6060f1SDimitry Andric bits <5> Rdd32; 1798fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1799fe6060f1SDimitry Andric bits <5> Re32; 1800fe6060f1SDimitry Andric let Inst{20-16} = Re32{4-0}; 1801fe6060f1SDimitry Andric} 1802fe6060f1SDimitry Andricclass Enc_800e04 : OpcodeHexagon { 1803fe6060f1SDimitry Andric bits <11> Ii; 1804fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 1805fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 1806fe6060f1SDimitry Andric bits <4> Rs16; 1807fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 1808fe6060f1SDimitry Andric bits <6> n1; 1809fe6060f1SDimitry Andric let Inst{28-28} = n1{5-5}; 1810fe6060f1SDimitry Andric let Inst{25-22} = n1{4-1}; 1811fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 1812fe6060f1SDimitry Andric} 1813bdd1243dSDimitry Andricclass Enc_80296d : OpcodeHexagon { 1814bdd1243dSDimitry Andric bits <5> Rs32; 1815bdd1243dSDimitry Andric let Inst{12-8} = Rs32{4-0}; 1816bdd1243dSDimitry Andric bits <5> Rtt32; 1817bdd1243dSDimitry Andric let Inst{20-16} = Rtt32{4-0}; 1818bdd1243dSDimitry Andric bits <5> Rd32; 1819bdd1243dSDimitry Andric let Inst{4-0} = Rd32{4-0}; 1820bdd1243dSDimitry Andric} 1821fe6060f1SDimitry Andricclass Enc_802dc0 : OpcodeHexagon { 1822fe6060f1SDimitry Andric bits <1> Ii; 1823fe6060f1SDimitry Andric let Inst{8-8} = Ii{0-0}; 1824fe6060f1SDimitry Andric bits <2> Qv4; 1825fe6060f1SDimitry Andric let Inst{23-22} = Qv4{1-0}; 1826fe6060f1SDimitry Andric} 1827fe6060f1SDimitry Andricclass Enc_81ac1d : OpcodeHexagon { 1828fe6060f1SDimitry Andric bits <24> Ii; 1829fe6060f1SDimitry Andric let Inst{24-16} = Ii{23-15}; 1830fe6060f1SDimitry Andric let Inst{13-1} = Ii{14-2}; 1831fe6060f1SDimitry Andric} 1832fe6060f1SDimitry Andricclass Enc_8203bb : OpcodeHexagon { 1833fe6060f1SDimitry Andric bits <6> Ii; 1834fe6060f1SDimitry Andric let Inst{12-7} = Ii{5-0}; 1835fe6060f1SDimitry Andric bits <8> II; 1836fe6060f1SDimitry Andric let Inst{13-13} = II{7-7}; 1837fe6060f1SDimitry Andric let Inst{6-0} = II{6-0}; 1838fe6060f1SDimitry Andric bits <5> Rs32; 1839fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1840fe6060f1SDimitry Andric} 1841bdd1243dSDimitry Andricclass Enc_829a68 : OpcodeHexagon { 1842bdd1243dSDimitry Andric bits <1> Mu2; 1843bdd1243dSDimitry Andric let Inst{13-13} = Mu2{0-0}; 1844bdd1243dSDimitry Andric bits <5> Vdd32; 1845bdd1243dSDimitry Andric let Inst{4-0} = Vdd32{4-0}; 1846bdd1243dSDimitry Andric bits <5> Rx32; 1847bdd1243dSDimitry Andric let Inst{20-16} = Rx32{4-0}; 1848bdd1243dSDimitry Andric} 1849fe6060f1SDimitry Andricclass Enc_830e5d : OpcodeHexagon { 1850fe6060f1SDimitry Andric bits <8> Ii; 1851fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 1852fe6060f1SDimitry Andric bits <8> II; 1853fe6060f1SDimitry Andric let Inst{22-16} = II{7-1}; 1854fe6060f1SDimitry Andric let Inst{13-13} = II{0-0}; 1855fe6060f1SDimitry Andric bits <2> Pu4; 1856fe6060f1SDimitry Andric let Inst{24-23} = Pu4{1-0}; 1857fe6060f1SDimitry Andric bits <5> Rd32; 1858fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1859fe6060f1SDimitry Andric} 18605ffd83dbSDimitry Andricclass Enc_831a7d : OpcodeHexagon { 18615ffd83dbSDimitry Andric bits <5> Rss32; 18625ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 18635ffd83dbSDimitry Andric bits <5> Rtt32; 18645ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 18655ffd83dbSDimitry Andric bits <5> Rxx32; 18665ffd83dbSDimitry Andric let Inst{4-0} = Rxx32{4-0}; 18675ffd83dbSDimitry Andric bits <2> Pe4; 18685ffd83dbSDimitry Andric let Inst{6-5} = Pe4{1-0}; 18695ffd83dbSDimitry Andric} 1870fe6060f1SDimitry Andricclass Enc_83ee64 : OpcodeHexagon { 1871fe6060f1SDimitry Andric bits <5> Ii; 1872fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 1873fe6060f1SDimitry Andric bits <5> Rs32; 1874fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1875fe6060f1SDimitry Andric bits <2> Pd4; 1876fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 1877fe6060f1SDimitry Andric} 1878fe6060f1SDimitry Andricclass Enc_84b2cd : OpcodeHexagon { 1879fe6060f1SDimitry Andric bits <8> Ii; 1880fe6060f1SDimitry Andric let Inst{12-7} = Ii{7-2}; 1881fe6060f1SDimitry Andric bits <5> II; 1882fe6060f1SDimitry Andric let Inst{4-0} = II{4-0}; 1883fe6060f1SDimitry Andric bits <5> Rs32; 1884fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1885fe6060f1SDimitry Andric} 1886fe6060f1SDimitry Andricclass Enc_84bff1 : OpcodeHexagon { 1887fe6060f1SDimitry Andric bits <2> Ii; 1888fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 1889fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 1890fe6060f1SDimitry Andric bits <5> Rs32; 1891fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1892fe6060f1SDimitry Andric bits <5> Rt32; 1893fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1894fe6060f1SDimitry Andric bits <5> Rdd32; 1895fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 1896fe6060f1SDimitry Andric} 1897fe6060f1SDimitry Andricclass Enc_84d359 : OpcodeHexagon { 1898fe6060f1SDimitry Andric bits <4> Ii; 1899fe6060f1SDimitry Andric let Inst{3-0} = Ii{3-0}; 1900fe6060f1SDimitry Andric bits <4> Rs16; 1901fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 1902fe6060f1SDimitry Andric} 1903fe6060f1SDimitry Andricclass Enc_85bf58 : OpcodeHexagon { 1904fe6060f1SDimitry Andric bits <7> Ii; 1905fe6060f1SDimitry Andric let Inst{6-3} = Ii{6-3}; 1906fe6060f1SDimitry Andric bits <5> Rtt32; 1907fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1908fe6060f1SDimitry Andric bits <5> Rx32; 1909fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1910fe6060f1SDimitry Andric} 1911fe6060f1SDimitry Andricclass Enc_864a5a : OpcodeHexagon { 1912fe6060f1SDimitry Andric bits <9> Ii; 1913fe6060f1SDimitry Andric let Inst{12-8} = Ii{8-4}; 1914fe6060f1SDimitry Andric let Inst{4-3} = Ii{3-2}; 1915fe6060f1SDimitry Andric bits <5> Rs32; 1916fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1917fe6060f1SDimitry Andric} 1918fe6060f1SDimitry Andricclass Enc_865390 : OpcodeHexagon { 1919fe6060f1SDimitry Andric bits <3> Ii; 1920fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 1921fe6060f1SDimitry Andric bits <2> Pv4; 1922fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 1923fe6060f1SDimitry Andric bits <5> Vs32; 1924fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 1925fe6060f1SDimitry Andric bits <5> Rx32; 1926fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 1927fe6060f1SDimitry Andric} 1928fe6060f1SDimitry Andricclass Enc_86a14b : OpcodeHexagon { 1929fe6060f1SDimitry Andric bits <8> Ii; 1930fe6060f1SDimitry Andric let Inst{7-3} = Ii{7-3}; 1931fe6060f1SDimitry Andric bits <3> Rdd8; 1932fe6060f1SDimitry Andric let Inst{2-0} = Rdd8{2-0}; 1933fe6060f1SDimitry Andric} 1934fe6060f1SDimitry Andricclass Enc_87c142 : OpcodeHexagon { 1935fe6060f1SDimitry Andric bits <7> Ii; 1936fe6060f1SDimitry Andric let Inst{8-4} = Ii{6-2}; 1937fe6060f1SDimitry Andric bits <4> Rt16; 1938fe6060f1SDimitry Andric let Inst{3-0} = Rt16{3-0}; 1939fe6060f1SDimitry Andric} 1940fe6060f1SDimitry Andricclass Enc_88c16c : OpcodeHexagon { 1941fe6060f1SDimitry Andric bits <5> Rss32; 1942fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 1943fe6060f1SDimitry Andric bits <5> Rtt32; 1944fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 1945fe6060f1SDimitry Andric bits <5> Rxx32; 1946fe6060f1SDimitry Andric let Inst{4-0} = Rxx32{4-0}; 1947fe6060f1SDimitry Andric} 1948fe6060f1SDimitry Andricclass Enc_88d4d9 : OpcodeHexagon { 1949fe6060f1SDimitry Andric bits <2> Pu4; 1950fe6060f1SDimitry Andric let Inst{9-8} = Pu4{1-0}; 1951fe6060f1SDimitry Andric bits <5> Rs32; 1952fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1953fe6060f1SDimitry Andric} 1954fe6060f1SDimitry Andricclass Enc_890909 : OpcodeHexagon { 1955fe6060f1SDimitry Andric bits <5> Rs32; 1956fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1957fe6060f1SDimitry Andric bits <5> Rd32; 1958fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 1959fe6060f1SDimitry Andric bits <2> Pe4; 1960fe6060f1SDimitry Andric let Inst{6-5} = Pe4{1-0}; 1961fe6060f1SDimitry Andric} 1962fe6060f1SDimitry Andricclass Enc_895bd9 : OpcodeHexagon { 1963fe6060f1SDimitry Andric bits <2> Qu4; 1964fe6060f1SDimitry Andric let Inst{9-8} = Qu4{1-0}; 1965fe6060f1SDimitry Andric bits <5> Rt32; 1966fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1967fe6060f1SDimitry Andric bits <5> Vx32; 1968fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 1969fe6060f1SDimitry Andric} 1970fe6060f1SDimitry Andricclass Enc_8b8927 : OpcodeHexagon { 1971fe6060f1SDimitry Andric bits <5> Rt32; 1972fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 1973fe6060f1SDimitry Andric bits <1> Mu2; 1974fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 1975fe6060f1SDimitry Andric bits <5> Vv32; 1976fe6060f1SDimitry Andric let Inst{4-0} = Vv32{4-0}; 1977fe6060f1SDimitry Andric} 1978fe6060f1SDimitry Andricclass Enc_8b8d61 : OpcodeHexagon { 1979fe6060f1SDimitry Andric bits <6> Ii; 1980fe6060f1SDimitry Andric let Inst{22-21} = Ii{5-4}; 1981fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 1982fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 1983fe6060f1SDimitry Andric bits <5> Rs32; 1984fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 1985fe6060f1SDimitry Andric bits <5> Ru32; 1986fe6060f1SDimitry Andric let Inst{4-0} = Ru32{4-0}; 1987fe6060f1SDimitry Andric bits <5> Rd32; 1988fe6060f1SDimitry Andric let Inst{12-8} = Rd32{4-0}; 1989fe6060f1SDimitry Andric} 1990fe6060f1SDimitry Andricclass Enc_8bcba4 : OpcodeHexagon { 1991fe6060f1SDimitry Andric bits <6> II; 1992fe6060f1SDimitry Andric let Inst{5-0} = II{5-0}; 1993fe6060f1SDimitry Andric bits <5> Rt32; 1994fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 1995fe6060f1SDimitry Andric bits <5> Re32; 1996fe6060f1SDimitry Andric let Inst{20-16} = Re32{4-0}; 1997fe6060f1SDimitry Andric} 1998fe6060f1SDimitry Andricclass Enc_8c2412 : OpcodeHexagon { 1999fe6060f1SDimitry Andric bits <2> Ps4; 2000fe6060f1SDimitry Andric let Inst{6-5} = Ps4{1-0}; 2001fe6060f1SDimitry Andric bits <5> Vu32; 2002fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2003fe6060f1SDimitry Andric bits <5> Vv32; 2004fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 2005fe6060f1SDimitry Andric bits <5> Vdd32; 2006fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 2007fe6060f1SDimitry Andric} 2008fe6060f1SDimitry Andricclass Enc_8c6530 : OpcodeHexagon { 2009fe6060f1SDimitry Andric bits <5> Rtt32; 2010fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 2011fe6060f1SDimitry Andric bits <5> Rss32; 2012fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2013fe6060f1SDimitry Andric bits <2> Pu4; 2014fe6060f1SDimitry Andric let Inst{6-5} = Pu4{1-0}; 2015fe6060f1SDimitry Andric bits <5> Rdd32; 2016fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2017fe6060f1SDimitry Andric} 2018fe6060f1SDimitry Andricclass Enc_8d8a30 : OpcodeHexagon { 2019fe6060f1SDimitry Andric bits <4> Ii; 2020fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 2021fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 2022fe6060f1SDimitry Andric bits <2> Pv4; 2023fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 2024fe6060f1SDimitry Andric bits <5> Rt32; 2025fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2026fe6060f1SDimitry Andric bits <5> Vd32; 2027fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2028fe6060f1SDimitry Andric} 2029fe6060f1SDimitry Andricclass Enc_8dbdfe : OpcodeHexagon { 2030fe6060f1SDimitry Andric bits <8> Ii; 2031fe6060f1SDimitry Andric let Inst{13-13} = Ii{7-7}; 2032fe6060f1SDimitry Andric let Inst{7-3} = Ii{6-2}; 2033fe6060f1SDimitry Andric bits <2> Pv4; 2034fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 2035fe6060f1SDimitry Andric bits <5> Rs32; 2036fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2037fe6060f1SDimitry Andric bits <3> Nt8; 2038fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2039fe6060f1SDimitry Andric} 2040fe6060f1SDimitry Andricclass Enc_8dbe85 : OpcodeHexagon { 2041fe6060f1SDimitry Andric bits <1> Mu2; 2042fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2043fe6060f1SDimitry Andric bits <3> Nt8; 2044fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2045fe6060f1SDimitry Andric bits <5> Rx32; 2046fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2047fe6060f1SDimitry Andric} 2048fe6060f1SDimitry Andricclass Enc_8dec2e : OpcodeHexagon { 2049fe6060f1SDimitry Andric bits <5> Ii; 2050fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 2051fe6060f1SDimitry Andric bits <5> Rss32; 2052fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2053fe6060f1SDimitry Andric bits <5> Rd32; 2054fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2055fe6060f1SDimitry Andric} 2056fe6060f1SDimitry Andricclass Enc_8df4be : OpcodeHexagon { 2057fe6060f1SDimitry Andric bits <17> Ii; 2058fe6060f1SDimitry Andric let Inst{26-25} = Ii{16-15}; 2059fe6060f1SDimitry Andric let Inst{20-16} = Ii{14-10}; 2060fe6060f1SDimitry Andric let Inst{13-5} = Ii{9-1}; 2061fe6060f1SDimitry Andric bits <5> Rd32; 2062fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2063fe6060f1SDimitry Andric} 2064fe6060f1SDimitry Andricclass Enc_8e583a : OpcodeHexagon { 2065fe6060f1SDimitry Andric bits <11> Ii; 2066fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2067fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2068fe6060f1SDimitry Andric bits <4> Rs16; 2069fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 2070fe6060f1SDimitry Andric bits <5> n1; 2071fe6060f1SDimitry Andric let Inst{28-28} = n1{4-4}; 2072fe6060f1SDimitry Andric let Inst{25-23} = n1{3-1}; 2073fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 2074fe6060f1SDimitry Andric} 2075349cc55cSDimitry Andricclass Enc_8f7633 : OpcodeHexagon { 2076349cc55cSDimitry Andric bits <5> Rs32; 2077349cc55cSDimitry Andric let Inst{20-16} = Rs32{4-0}; 2078349cc55cSDimitry Andric bits <7> Sd128; 2079349cc55cSDimitry Andric let Inst{6-0} = Sd128{6-0}; 2080349cc55cSDimitry Andric} 2081fe6060f1SDimitry Andricclass Enc_90cd8b : OpcodeHexagon { 2082fe6060f1SDimitry Andric bits <5> Rss32; 2083fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2084fe6060f1SDimitry Andric bits <5> Rd32; 2085fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2086fe6060f1SDimitry Andric} 2087fe6060f1SDimitry Andricclass Enc_91b9fe : OpcodeHexagon { 2088fe6060f1SDimitry Andric bits <5> Ii; 2089fe6060f1SDimitry Andric let Inst{6-3} = Ii{4-1}; 2090fe6060f1SDimitry Andric bits <1> Mu2; 2091fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2092fe6060f1SDimitry Andric bits <3> Nt8; 2093fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2094fe6060f1SDimitry Andric bits <5> Rx32; 2095fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2096fe6060f1SDimitry Andric} 2097fe6060f1SDimitry Andricclass Enc_927852 : OpcodeHexagon { 2098fe6060f1SDimitry Andric bits <5> Rss32; 2099fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2100fe6060f1SDimitry Andric bits <5> Rt32; 2101fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2102fe6060f1SDimitry Andric bits <5> Rdd32; 2103fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2104fe6060f1SDimitry Andric} 2105fe6060f1SDimitry Andricclass Enc_928ca1 : OpcodeHexagon { 2106fe6060f1SDimitry Andric bits <1> Mu2; 2107fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2108fe6060f1SDimitry Andric bits <5> Rtt32; 2109fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 2110fe6060f1SDimitry Andric bits <5> Rx32; 2111fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2112fe6060f1SDimitry Andric} 2113fe6060f1SDimitry Andricclass Enc_935d9b : OpcodeHexagon { 2114fe6060f1SDimitry Andric bits <5> Ii; 2115fe6060f1SDimitry Andric let Inst{6-3} = Ii{4-1}; 2116fe6060f1SDimitry Andric bits <1> Mu2; 2117fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2118fe6060f1SDimitry Andric bits <5> Rt32; 2119fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2120fe6060f1SDimitry Andric bits <5> Rx32; 2121fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2122fe6060f1SDimitry Andric} 2123fe6060f1SDimitry Andricclass Enc_93af4c : OpcodeHexagon { 2124fe6060f1SDimitry Andric bits <7> Ii; 2125fe6060f1SDimitry Andric let Inst{10-4} = Ii{6-0}; 2126fe6060f1SDimitry Andric bits <4> Rx16; 2127fe6060f1SDimitry Andric let Inst{3-0} = Rx16{3-0}; 2128fe6060f1SDimitry Andric} 2129fe6060f1SDimitry Andricclass Enc_95441f : OpcodeHexagon { 2130fe6060f1SDimitry Andric bits <5> Vu32; 2131fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2132fe6060f1SDimitry Andric bits <5> Vv32; 2133fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 2134fe6060f1SDimitry Andric bits <2> Qd4; 2135fe6060f1SDimitry Andric let Inst{1-0} = Qd4{1-0}; 2136fe6060f1SDimitry Andric} 2137fe6060f1SDimitry Andricclass Enc_96ce4f : OpcodeHexagon { 2138fe6060f1SDimitry Andric bits <4> Ii; 2139fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 2140fe6060f1SDimitry Andric bits <1> Mu2; 2141fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2142fe6060f1SDimitry Andric bits <3> Nt8; 2143fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2144fe6060f1SDimitry Andric bits <5> Rx32; 2145fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2146fe6060f1SDimitry Andric} 2147fe6060f1SDimitry Andricclass Enc_97d666 : OpcodeHexagon { 2148fe6060f1SDimitry Andric bits <4> Rs16; 2149fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 2150fe6060f1SDimitry Andric bits <4> Rd16; 2151fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 2152fe6060f1SDimitry Andric} 2153fe6060f1SDimitry Andricclass Enc_989021 : OpcodeHexagon { 2154fe6060f1SDimitry Andric bits <5> Rt32; 2155fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2156fe6060f1SDimitry Andric bits <5> Vy32; 2157fe6060f1SDimitry Andric let Inst{12-8} = Vy32{4-0}; 2158fe6060f1SDimitry Andric bits <5> Vx32; 2159fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 2160fe6060f1SDimitry Andric} 2161fe6060f1SDimitry Andricclass Enc_98c0b8 : OpcodeHexagon { 2162fe6060f1SDimitry Andric bits <2> Ii; 2163fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 2164fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 2165fe6060f1SDimitry Andric bits <2> Pv4; 2166fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 2167fe6060f1SDimitry Andric bits <5> Rs32; 2168fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2169fe6060f1SDimitry Andric bits <5> Rt32; 2170fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2171fe6060f1SDimitry Andric bits <5> Rdd32; 2172fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2173fe6060f1SDimitry Andric} 2174fe6060f1SDimitry Andricclass Enc_9a33d5 : OpcodeHexagon { 2175fe6060f1SDimitry Andric bits <7> Ii; 2176fe6060f1SDimitry Andric let Inst{6-3} = Ii{6-3}; 2177fe6060f1SDimitry Andric bits <2> Pv4; 2178fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 2179fe6060f1SDimitry Andric bits <5> Rtt32; 2180fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 2181fe6060f1SDimitry Andric bits <5> Rx32; 2182fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2183fe6060f1SDimitry Andric} 2184fe6060f1SDimitry Andricclass Enc_9ac432 : OpcodeHexagon { 2185fe6060f1SDimitry Andric bits <2> Ps4; 2186fe6060f1SDimitry Andric let Inst{17-16} = Ps4{1-0}; 2187fe6060f1SDimitry Andric bits <2> Pt4; 2188fe6060f1SDimitry Andric let Inst{9-8} = Pt4{1-0}; 2189fe6060f1SDimitry Andric bits <2> Pu4; 2190fe6060f1SDimitry Andric let Inst{7-6} = Pu4{1-0}; 2191fe6060f1SDimitry Andric bits <2> Pd4; 2192fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 2193fe6060f1SDimitry Andric} 2194fe6060f1SDimitry Andricclass Enc_9b0bc1 : OpcodeHexagon { 2195fe6060f1SDimitry Andric bits <2> Pu4; 2196fe6060f1SDimitry Andric let Inst{6-5} = Pu4{1-0}; 2197fe6060f1SDimitry Andric bits <5> Rt32; 2198fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2199fe6060f1SDimitry Andric bits <5> Rs32; 2200fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2201fe6060f1SDimitry Andric bits <5> Rd32; 2202fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2203fe6060f1SDimitry Andric} 2204fe6060f1SDimitry Andricclass Enc_9be1de : OpcodeHexagon { 2205fe6060f1SDimitry Andric bits <2> Qs4; 2206fe6060f1SDimitry Andric let Inst{6-5} = Qs4{1-0}; 2207fe6060f1SDimitry Andric bits <5> Rt32; 2208fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2209fe6060f1SDimitry Andric bits <1> Mu2; 2210fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2211fe6060f1SDimitry Andric bits <5> Vv32; 2212fe6060f1SDimitry Andric let Inst{12-8} = Vv32{4-0}; 2213fe6060f1SDimitry Andric bits <5> Vw32; 2214fe6060f1SDimitry Andric let Inst{4-0} = Vw32{4-0}; 2215fe6060f1SDimitry Andric} 2216fe6060f1SDimitry Andricclass Enc_9cdba7 : OpcodeHexagon { 2217fe6060f1SDimitry Andric bits <8> Ii; 2218fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 2219fe6060f1SDimitry Andric bits <5> Rs32; 2220fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2221fe6060f1SDimitry Andric bits <5> Rdd32; 2222fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2223fe6060f1SDimitry Andric} 2224fe6060f1SDimitry Andricclass Enc_9d1247 : OpcodeHexagon { 2225fe6060f1SDimitry Andric bits <7> Ii; 2226fe6060f1SDimitry Andric let Inst{8-5} = Ii{6-3}; 2227fe6060f1SDimitry Andric bits <2> Pt4; 2228fe6060f1SDimitry Andric let Inst{10-9} = Pt4{1-0}; 2229fe6060f1SDimitry Andric bits <5> Rdd32; 2230fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2231fe6060f1SDimitry Andric bits <5> Rx32; 2232fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2233fe6060f1SDimitry Andric} 2234fe6060f1SDimitry Andricclass Enc_9e2e1c : OpcodeHexagon { 2235fe6060f1SDimitry Andric bits <5> Ii; 2236fe6060f1SDimitry Andric let Inst{8-5} = Ii{4-1}; 2237fe6060f1SDimitry Andric bits <1> Mu2; 2238fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2239fe6060f1SDimitry Andric bits <5> Ryy32; 2240fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 2241fe6060f1SDimitry Andric bits <5> Rx32; 2242fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2243fe6060f1SDimitry Andric} 2244fe6060f1SDimitry Andricclass Enc_9e4c3f : OpcodeHexagon { 2245fe6060f1SDimitry Andric bits <6> II; 2246fe6060f1SDimitry Andric let Inst{13-8} = II{5-0}; 2247fe6060f1SDimitry Andric bits <11> Ii; 2248fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2249fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2250fe6060f1SDimitry Andric bits <4> Rd16; 2251fe6060f1SDimitry Andric let Inst{19-16} = Rd16{3-0}; 2252fe6060f1SDimitry Andric} 2253*5f757f3fSDimitry Andricclass Enc_9e9047 : OpcodeHexagon { 2254*5f757f3fSDimitry Andric bits <2> Pt4; 2255*5f757f3fSDimitry Andric let Inst{9-8} = Pt4{1-0}; 2256*5f757f3fSDimitry Andric bits <5> Rs32; 2257*5f757f3fSDimitry Andric let Inst{20-16} = Rs32{4-0}; 2258*5f757f3fSDimitry Andric} 2259fe6060f1SDimitry Andricclass Enc_9ea4cf : OpcodeHexagon { 2260fe6060f1SDimitry Andric bits <2> Ii; 2261fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 2262fe6060f1SDimitry Andric let Inst{6-6} = Ii{0-0}; 2263fe6060f1SDimitry Andric bits <6> II; 2264fe6060f1SDimitry Andric let Inst{5-0} = II{5-0}; 2265fe6060f1SDimitry Andric bits <5> Ru32; 2266fe6060f1SDimitry Andric let Inst{20-16} = Ru32{4-0}; 2267fe6060f1SDimitry Andric bits <5> Rt32; 2268fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2269fe6060f1SDimitry Andric} 2270fe6060f1SDimitry Andricclass Enc_9fae8a : OpcodeHexagon { 2271fe6060f1SDimitry Andric bits <6> Ii; 2272fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 2273fe6060f1SDimitry Andric bits <5> Rs32; 2274fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2275fe6060f1SDimitry Andric bits <5> Rd32; 2276fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2277fe6060f1SDimitry Andric} 2278fe6060f1SDimitry Andricclass Enc_a05677 : OpcodeHexagon { 2279fe6060f1SDimitry Andric bits <5> Ii; 2280fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 2281fe6060f1SDimitry Andric bits <5> Rs32; 2282fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2283fe6060f1SDimitry Andric bits <5> Rd32; 2284fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2285fe6060f1SDimitry Andric} 2286fe6060f1SDimitry Andricclass Enc_a1640c : OpcodeHexagon { 2287fe6060f1SDimitry Andric bits <6> Ii; 2288fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 2289fe6060f1SDimitry Andric bits <5> Rss32; 2290fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2291fe6060f1SDimitry Andric bits <5> Rd32; 2292fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2293fe6060f1SDimitry Andric} 2294fe6060f1SDimitry Andricclass Enc_a198f6 : OpcodeHexagon { 2295fe6060f1SDimitry Andric bits <7> Ii; 2296fe6060f1SDimitry Andric let Inst{10-5} = Ii{6-1}; 2297fe6060f1SDimitry Andric bits <2> Pt4; 2298fe6060f1SDimitry Andric let Inst{12-11} = Pt4{1-0}; 2299fe6060f1SDimitry Andric bits <5> Rs32; 2300fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2301fe6060f1SDimitry Andric bits <5> Rd32; 2302fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2303fe6060f1SDimitry Andric} 2304fe6060f1SDimitry Andricclass Enc_a1e29d : OpcodeHexagon { 2305fe6060f1SDimitry Andric bits <5> Ii; 2306fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 2307fe6060f1SDimitry Andric bits <5> II; 2308fe6060f1SDimitry Andric let Inst{22-21} = II{4-3}; 2309fe6060f1SDimitry Andric let Inst{7-5} = II{2-0}; 2310fe6060f1SDimitry Andric bits <5> Rs32; 2311fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2312fe6060f1SDimitry Andric bits <5> Rx32; 2313fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 2314fe6060f1SDimitry Andric} 2315fe6060f1SDimitry Andricclass Enc_a21d47 : OpcodeHexagon { 2316fe6060f1SDimitry Andric bits <6> Ii; 2317fe6060f1SDimitry Andric let Inst{10-5} = Ii{5-0}; 2318fe6060f1SDimitry Andric bits <2> Pt4; 2319fe6060f1SDimitry Andric let Inst{12-11} = Pt4{1-0}; 2320fe6060f1SDimitry Andric bits <5> Rs32; 2321fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2322fe6060f1SDimitry Andric bits <5> Rd32; 2323fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2324fe6060f1SDimitry Andric} 2325fe6060f1SDimitry Andricclass Enc_a255dc : OpcodeHexagon { 2326fe6060f1SDimitry Andric bits <3> Ii; 2327fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 2328fe6060f1SDimitry Andric bits <5> Vd32; 2329fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2330fe6060f1SDimitry Andric bits <5> Rx32; 2331fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2332fe6060f1SDimitry Andric} 2333fe6060f1SDimitry Andricclass Enc_a27588 : OpcodeHexagon { 2334fe6060f1SDimitry Andric bits <11> Ii; 2335fe6060f1SDimitry Andric let Inst{26-25} = Ii{10-9}; 2336fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 2337fe6060f1SDimitry Andric bits <5> Rs32; 2338fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2339fe6060f1SDimitry Andric bits <5> Ryy32; 2340fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 2341fe6060f1SDimitry Andric} 2342fe6060f1SDimitry Andricclass Enc_a30110 : OpcodeHexagon { 2343fe6060f1SDimitry Andric bits <5> Vu32; 2344fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2345fe6060f1SDimitry Andric bits <5> Vv32; 2346fe6060f1SDimitry Andric let Inst{23-19} = Vv32{4-0}; 2347fe6060f1SDimitry Andric bits <3> Rt8; 2348fe6060f1SDimitry Andric let Inst{18-16} = Rt8{2-0}; 2349fe6060f1SDimitry Andric bits <5> Vd32; 2350fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2351fe6060f1SDimitry Andric} 23520eae32dcSDimitry Andricclass Enc_a33d04 : OpcodeHexagon { 23530eae32dcSDimitry Andric bits <5> Vuu32; 23540eae32dcSDimitry Andric let Inst{12-8} = Vuu32{4-0}; 23550eae32dcSDimitry Andric bits <5> Vd32; 23560eae32dcSDimitry Andric let Inst{4-0} = Vd32{4-0}; 23570eae32dcSDimitry Andric} 2358fe6060f1SDimitry Andricclass Enc_a42857 : OpcodeHexagon { 2359fe6060f1SDimitry Andric bits <11> Ii; 2360fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2361fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2362fe6060f1SDimitry Andric bits <4> Rs16; 2363fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 2364fe6060f1SDimitry Andric bits <5> n1; 2365fe6060f1SDimitry Andric let Inst{28-28} = n1{4-4}; 2366fe6060f1SDimitry Andric let Inst{24-22} = n1{3-1}; 2367fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 2368fe6060f1SDimitry Andric} 2369fe6060f1SDimitry Andricclass Enc_a4ef14 : OpcodeHexagon { 2370fe6060f1SDimitry Andric bits <5> Rd32; 2371fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2372fe6060f1SDimitry Andric} 2373fe6060f1SDimitry Andricclass Enc_a51a9a : OpcodeHexagon { 2374fe6060f1SDimitry Andric bits <8> Ii; 2375fe6060f1SDimitry Andric let Inst{12-8} = Ii{7-3}; 2376fe6060f1SDimitry Andric let Inst{4-2} = Ii{2-0}; 2377fe6060f1SDimitry Andric} 2378fe6060f1SDimitry Andricclass Enc_a56825 : OpcodeHexagon { 2379fe6060f1SDimitry Andric bits <5> Rss32; 2380fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2381fe6060f1SDimitry Andric bits <5> Rtt32; 2382fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 2383fe6060f1SDimitry Andric bits <5> Rdd32; 2384fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2385fe6060f1SDimitry Andric} 2386fe6060f1SDimitry Andricclass Enc_a568d4 : OpcodeHexagon { 2387fe6060f1SDimitry Andric bits <5> Rt32; 2388fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2389fe6060f1SDimitry Andric bits <5> Rs32; 2390fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2391fe6060f1SDimitry Andric bits <5> Rx32; 2392fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 2393fe6060f1SDimitry Andric} 2394fe6060f1SDimitry Andricclass Enc_a5ed8a : OpcodeHexagon { 2395fe6060f1SDimitry Andric bits <5> Rt32; 2396fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2397fe6060f1SDimitry Andric bits <5> Vd32; 2398fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2399fe6060f1SDimitry Andric} 2400fe6060f1SDimitry Andricclass Enc_a641d0 : OpcodeHexagon { 2401fe6060f1SDimitry Andric bits <5> Rt32; 2402fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2403fe6060f1SDimitry Andric bits <1> Mu2; 2404fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2405fe6060f1SDimitry Andric bits <5> Vvv32; 2406fe6060f1SDimitry Andric let Inst{12-8} = Vvv32{4-0}; 2407fe6060f1SDimitry Andric bits <5> Vw32; 2408fe6060f1SDimitry Andric let Inst{4-0} = Vw32{4-0}; 2409fe6060f1SDimitry Andric} 2410fe6060f1SDimitry Andricclass Enc_a6853f : OpcodeHexagon { 2411fe6060f1SDimitry Andric bits <11> Ii; 2412fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2413fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2414fe6060f1SDimitry Andric bits <3> Ns8; 2415fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 2416fe6060f1SDimitry Andric bits <6> n1; 2417fe6060f1SDimitry Andric let Inst{29-29} = n1{5-5}; 2418fe6060f1SDimitry Andric let Inst{26-25} = n1{4-3}; 2419fe6060f1SDimitry Andric let Inst{23-22} = n1{2-1}; 2420fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 2421fe6060f1SDimitry Andric} 2422fe6060f1SDimitry Andricclass Enc_a6ce9c : OpcodeHexagon { 2423fe6060f1SDimitry Andric bits <6> Ii; 2424fe6060f1SDimitry Andric let Inst{3-0} = Ii{5-2}; 2425fe6060f1SDimitry Andric bits <4> Rs16; 2426fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 2427fe6060f1SDimitry Andric} 2428349cc55cSDimitry Andricclass Enc_a705fc : OpcodeHexagon { 2429349cc55cSDimitry Andric bits <5> Rss32; 2430349cc55cSDimitry Andric let Inst{20-16} = Rss32{4-0}; 2431349cc55cSDimitry Andric bits <7> Sdd128; 2432349cc55cSDimitry Andric let Inst{6-0} = Sdd128{6-0}; 2433349cc55cSDimitry Andric} 2434fe6060f1SDimitry Andricclass Enc_a7341a : OpcodeHexagon { 2435fe6060f1SDimitry Andric bits <5> Vu32; 2436fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2437fe6060f1SDimitry Andric bits <5> Vv32; 2438fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 2439fe6060f1SDimitry Andric bits <5> Vx32; 2440fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 2441fe6060f1SDimitry Andric} 2442fe6060f1SDimitry Andricclass Enc_a75aa6 : OpcodeHexagon { 2443fe6060f1SDimitry Andric bits <5> Rs32; 2444fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2445fe6060f1SDimitry Andric bits <5> Rt32; 2446fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2447fe6060f1SDimitry Andric bits <1> Mu2; 2448fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2449fe6060f1SDimitry Andric} 2450fe6060f1SDimitry Andricclass Enc_a7b8e8 : OpcodeHexagon { 2451fe6060f1SDimitry Andric bits <6> Ii; 2452fe6060f1SDimitry Andric let Inst{22-21} = Ii{5-4}; 2453fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 2454fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 2455fe6060f1SDimitry Andric bits <5> Rs32; 2456fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2457fe6060f1SDimitry Andric bits <5> Rt32; 2458fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2459fe6060f1SDimitry Andric bits <5> Rd32; 2460fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2461fe6060f1SDimitry Andric} 2462fe6060f1SDimitry Andricclass Enc_a803e0 : OpcodeHexagon { 2463fe6060f1SDimitry Andric bits <7> Ii; 2464fe6060f1SDimitry Andric let Inst{12-7} = Ii{6-1}; 2465fe6060f1SDimitry Andric bits <8> II; 2466fe6060f1SDimitry Andric let Inst{13-13} = II{7-7}; 2467fe6060f1SDimitry Andric let Inst{6-0} = II{6-0}; 2468fe6060f1SDimitry Andric bits <5> Rs32; 2469fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2470fe6060f1SDimitry Andric} 2471fe6060f1SDimitry Andricclass Enc_a90628 : OpcodeHexagon { 2472fe6060f1SDimitry Andric bits <2> Qv4; 2473fe6060f1SDimitry Andric let Inst{23-22} = Qv4{1-0}; 2474fe6060f1SDimitry Andric bits <5> Vu32; 2475fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2476fe6060f1SDimitry Andric bits <5> Vx32; 2477fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 2478fe6060f1SDimitry Andric} 2479fe6060f1SDimitry Andricclass Enc_a94f3b : OpcodeHexagon { 2480fe6060f1SDimitry Andric bits <5> Rs32; 2481fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2482fe6060f1SDimitry Andric bits <5> Rt32; 2483fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2484fe6060f1SDimitry Andric bits <5> Rd32; 2485fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2486fe6060f1SDimitry Andric bits <2> Pe4; 2487fe6060f1SDimitry Andric let Inst{6-5} = Pe4{1-0}; 2488fe6060f1SDimitry Andric} 2489fe6060f1SDimitry Andricclass Enc_aad80c : OpcodeHexagon { 2490fe6060f1SDimitry Andric bits <5> Vuu32; 2491fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 2492fe6060f1SDimitry Andric bits <5> Rt32; 2493fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2494fe6060f1SDimitry Andric bits <5> Vdd32; 2495fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 2496fe6060f1SDimitry Andric} 2497fe6060f1SDimitry Andricclass Enc_acd6ed : OpcodeHexagon { 2498fe6060f1SDimitry Andric bits <9> Ii; 2499fe6060f1SDimitry Andric let Inst{10-5} = Ii{8-3}; 2500fe6060f1SDimitry Andric bits <2> Pt4; 2501fe6060f1SDimitry Andric let Inst{12-11} = Pt4{1-0}; 2502fe6060f1SDimitry Andric bits <5> Rs32; 2503fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2504fe6060f1SDimitry Andric bits <5> Rdd32; 2505fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2506fe6060f1SDimitry Andric} 2507fe6060f1SDimitry Andricclass Enc_ad1831 : OpcodeHexagon { 2508fe6060f1SDimitry Andric bits <16> Ii; 2509fe6060f1SDimitry Andric let Inst{26-25} = Ii{15-14}; 2510fe6060f1SDimitry Andric let Inst{20-16} = Ii{13-9}; 2511fe6060f1SDimitry Andric let Inst{13-13} = Ii{8-8}; 2512fe6060f1SDimitry Andric let Inst{7-0} = Ii{7-0}; 2513fe6060f1SDimitry Andric bits <3> Nt8; 2514fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2515fe6060f1SDimitry Andric} 2516fe6060f1SDimitry Andricclass Enc_ad1c74 : OpcodeHexagon { 2517fe6060f1SDimitry Andric bits <11> Ii; 2518fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2519fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2520fe6060f1SDimitry Andric bits <4> Rs16; 2521fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 2522fe6060f1SDimitry Andric} 2523fe6060f1SDimitry Andricclass Enc_ad9bef : OpcodeHexagon { 2524fe6060f1SDimitry Andric bits <5> Vu32; 2525fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2526fe6060f1SDimitry Andric bits <5> Rtt32; 2527fe6060f1SDimitry Andric let Inst{20-16} = Rtt32{4-0}; 2528fe6060f1SDimitry Andric bits <5> Vxx32; 2529fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 2530fe6060f1SDimitry Andric} 2531fe6060f1SDimitry Andricclass Enc_adf111 : OpcodeHexagon { 2532fe6060f1SDimitry Andric bits <5> Vu32; 2533fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2534fe6060f1SDimitry Andric bits <5> Rt32; 2535fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2536fe6060f1SDimitry Andric bits <2> Qx4; 2537fe6060f1SDimitry Andric let Inst{1-0} = Qx4{1-0}; 2538fe6060f1SDimitry Andric} 2539fe6060f1SDimitry Andricclass Enc_b00112 : OpcodeHexagon { 2540fe6060f1SDimitry Andric bits <5> Rss32; 2541fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2542fe6060f1SDimitry Andric bits <5> Rtt32; 2543fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 2544fe6060f1SDimitry Andric} 2545bdd1243dSDimitry Andricclass Enc_b025d6 : OpcodeHexagon { 2546bdd1243dSDimitry Andric bits <3> Ii; 2547bdd1243dSDimitry Andric let Inst{10-8} = Ii{2-0}; 2548bdd1243dSDimitry Andric bits <5> Vss32; 2549bdd1243dSDimitry Andric let Inst{4-0} = Vss32{4-0}; 2550bdd1243dSDimitry Andric bits <5> Rx32; 2551bdd1243dSDimitry Andric let Inst{20-16} = Rx32{4-0}; 2552bdd1243dSDimitry Andric} 2553fe6060f1SDimitry Andricclass Enc_b05839 : OpcodeHexagon { 2554fe6060f1SDimitry Andric bits <7> Ii; 2555fe6060f1SDimitry Andric let Inst{8-5} = Ii{6-3}; 2556fe6060f1SDimitry Andric bits <1> Mu2; 2557fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2558fe6060f1SDimitry Andric bits <5> Rdd32; 2559fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2560fe6060f1SDimitry Andric bits <5> Rx32; 2561fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2562fe6060f1SDimitry Andric} 2563fe6060f1SDimitry Andricclass Enc_b087ac : OpcodeHexagon { 2564fe6060f1SDimitry Andric bits <5> Vu32; 2565fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2566fe6060f1SDimitry Andric bits <5> Rt32; 2567fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2568fe6060f1SDimitry Andric bits <5> Vd32; 2569fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2570fe6060f1SDimitry Andric} 2571fe6060f1SDimitry Andricclass Enc_b0e9d8 : OpcodeHexagon { 2572fe6060f1SDimitry Andric bits <10> Ii; 2573fe6060f1SDimitry Andric let Inst{21-21} = Ii{9-9}; 2574fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 2575fe6060f1SDimitry Andric bits <5> Rs32; 2576fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2577fe6060f1SDimitry Andric bits <5> Rx32; 2578fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 2579fe6060f1SDimitry Andric} 2580fe6060f1SDimitry Andricclass Enc_b15941 : OpcodeHexagon { 2581fe6060f1SDimitry Andric bits <4> Ii; 2582fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 2583fe6060f1SDimitry Andric bits <1> Mu2; 2584fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 2585fe6060f1SDimitry Andric bits <5> Rt32; 2586fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2587fe6060f1SDimitry Andric bits <5> Rx32; 2588fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2589fe6060f1SDimitry Andric} 2590fe6060f1SDimitry Andricclass Enc_b1e1fb : OpcodeHexagon { 2591fe6060f1SDimitry Andric bits <11> Ii; 2592fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2593fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2594fe6060f1SDimitry Andric bits <4> Rs16; 2595fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 2596fe6060f1SDimitry Andric bits <5> n1; 2597fe6060f1SDimitry Andric let Inst{28-28} = n1{4-4}; 2598fe6060f1SDimitry Andric let Inst{25-23} = n1{3-1}; 2599fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 2600fe6060f1SDimitry Andric} 2601fe6060f1SDimitry Andricclass Enc_b388cf : OpcodeHexagon { 2602fe6060f1SDimitry Andric bits <5> Ii; 2603fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 2604fe6060f1SDimitry Andric bits <5> II; 2605fe6060f1SDimitry Andric let Inst{22-21} = II{4-3}; 2606fe6060f1SDimitry Andric let Inst{7-5} = II{2-0}; 2607fe6060f1SDimitry Andric bits <5> Rs32; 2608fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2609fe6060f1SDimitry Andric bits <5> Rd32; 2610fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2611fe6060f1SDimitry Andric} 2612fe6060f1SDimitry Andricclass Enc_b38ffc : OpcodeHexagon { 2613fe6060f1SDimitry Andric bits <4> Ii; 2614fe6060f1SDimitry Andric let Inst{11-8} = Ii{3-0}; 2615fe6060f1SDimitry Andric bits <4> Rs16; 2616fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 2617fe6060f1SDimitry Andric bits <4> Rt16; 2618fe6060f1SDimitry Andric let Inst{3-0} = Rt16{3-0}; 2619fe6060f1SDimitry Andric} 2620fe6060f1SDimitry Andricclass Enc_b43b67 : OpcodeHexagon { 2621fe6060f1SDimitry Andric bits <5> Vu32; 2622fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2623fe6060f1SDimitry Andric bits <5> Vv32; 2624fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 2625fe6060f1SDimitry Andric bits <5> Vd32; 2626fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2627fe6060f1SDimitry Andric bits <2> Qx4; 2628fe6060f1SDimitry Andric let Inst{6-5} = Qx4{1-0}; 2629fe6060f1SDimitry Andric} 2630fe6060f1SDimitry Andricclass Enc_b4e6cf : OpcodeHexagon { 2631fe6060f1SDimitry Andric bits <10> Ii; 2632fe6060f1SDimitry Andric let Inst{21-21} = Ii{9-9}; 2633fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 2634fe6060f1SDimitry Andric bits <5> Ru32; 2635fe6060f1SDimitry Andric let Inst{4-0} = Ru32{4-0}; 2636fe6060f1SDimitry Andric bits <5> Rx32; 2637fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2638fe6060f1SDimitry Andric} 2639fe6060f1SDimitry Andricclass Enc_b62ef7 : OpcodeHexagon { 2640fe6060f1SDimitry Andric bits <3> Ii; 2641fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 2642fe6060f1SDimitry Andric bits <5> Vs32; 2643fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 2644fe6060f1SDimitry Andric bits <5> Rx32; 2645fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2646fe6060f1SDimitry Andric} 2647fe6060f1SDimitry Andricclass Enc_b72622 : OpcodeHexagon { 2648fe6060f1SDimitry Andric bits <2> Ii; 2649fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 2650fe6060f1SDimitry Andric let Inst{5-5} = Ii{0-0}; 2651fe6060f1SDimitry Andric bits <5> Rss32; 2652fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2653fe6060f1SDimitry Andric bits <5> Rt32; 2654fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2655fe6060f1SDimitry Andric bits <5> Rxx32; 2656fe6060f1SDimitry Andric let Inst{4-0} = Rxx32{4-0}; 2657fe6060f1SDimitry Andric} 2658fe6060f1SDimitry Andricclass Enc_b78edd : OpcodeHexagon { 2659fe6060f1SDimitry Andric bits <11> Ii; 2660fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2661fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2662fe6060f1SDimitry Andric bits <4> Rs16; 2663fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 2664fe6060f1SDimitry Andric bits <4> n1; 2665fe6060f1SDimitry Andric let Inst{28-28} = n1{3-3}; 2666fe6060f1SDimitry Andric let Inst{24-23} = n1{2-1}; 2667fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 2668fe6060f1SDimitry Andric} 2669fe6060f1SDimitry Andricclass Enc_b7fad3 : OpcodeHexagon { 2670fe6060f1SDimitry Andric bits <2> Pv4; 2671fe6060f1SDimitry Andric let Inst{9-8} = Pv4{1-0}; 2672fe6060f1SDimitry Andric bits <5> Rs32; 2673fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2674fe6060f1SDimitry Andric bits <5> Rdd32; 2675fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2676fe6060f1SDimitry Andric} 2677fe6060f1SDimitry Andricclass Enc_b8309d : OpcodeHexagon { 2678fe6060f1SDimitry Andric bits <9> Ii; 2679fe6060f1SDimitry Andric let Inst{8-3} = Ii{8-3}; 2680fe6060f1SDimitry Andric bits <3> Rtt8; 2681fe6060f1SDimitry Andric let Inst{2-0} = Rtt8{2-0}; 2682fe6060f1SDimitry Andric} 2683fe6060f1SDimitry Andricclass Enc_b84c4c : OpcodeHexagon { 2684fe6060f1SDimitry Andric bits <6> Ii; 2685fe6060f1SDimitry Andric let Inst{13-8} = Ii{5-0}; 2686fe6060f1SDimitry Andric bits <6> II; 2687fe6060f1SDimitry Andric let Inst{23-21} = II{5-3}; 2688fe6060f1SDimitry Andric let Inst{7-5} = II{2-0}; 2689fe6060f1SDimitry Andric bits <5> Rss32; 2690fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2691fe6060f1SDimitry Andric bits <5> Rdd32; 2692fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2693fe6060f1SDimitry Andric} 2694fe6060f1SDimitry Andricclass Enc_b886fd : OpcodeHexagon { 2695fe6060f1SDimitry Andric bits <5> Ii; 2696fe6060f1SDimitry Andric let Inst{6-3} = Ii{4-1}; 2697fe6060f1SDimitry Andric bits <2> Pv4; 2698fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 2699fe6060f1SDimitry Andric bits <5> Rt32; 2700fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2701fe6060f1SDimitry Andric bits <5> Rx32; 2702fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2703fe6060f1SDimitry Andric} 2704fe6060f1SDimitry Andricclass Enc_b8c967 : OpcodeHexagon { 2705fe6060f1SDimitry Andric bits <8> Ii; 2706fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 2707fe6060f1SDimitry Andric bits <5> Rs32; 2708fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2709fe6060f1SDimitry Andric bits <5> Rd32; 2710fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2711fe6060f1SDimitry Andric} 2712fe6060f1SDimitry Andricclass Enc_b909d2 : OpcodeHexagon { 2713fe6060f1SDimitry Andric bits <11> Ii; 2714fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2715fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2716fe6060f1SDimitry Andric bits <4> Rs16; 2717fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 2718fe6060f1SDimitry Andric bits <7> n1; 2719fe6060f1SDimitry Andric let Inst{28-28} = n1{6-6}; 2720fe6060f1SDimitry Andric let Inst{25-22} = n1{5-2}; 2721fe6060f1SDimitry Andric let Inst{13-13} = n1{1-1}; 2722fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 2723fe6060f1SDimitry Andric} 2724fe6060f1SDimitry Andricclass Enc_b91167 : OpcodeHexagon { 2725fe6060f1SDimitry Andric bits <2> Ii; 2726fe6060f1SDimitry Andric let Inst{6-5} = Ii{1-0}; 2727fe6060f1SDimitry Andric bits <5> Vuu32; 2728fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 2729fe6060f1SDimitry Andric bits <5> Vvv32; 2730fe6060f1SDimitry Andric let Inst{20-16} = Vvv32{4-0}; 2731fe6060f1SDimitry Andric bits <5> Vdd32; 2732fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 2733fe6060f1SDimitry Andric} 2734fe6060f1SDimitry Andricclass Enc_b97f71 : OpcodeHexagon { 2735fe6060f1SDimitry Andric bits <6> Ii; 2736fe6060f1SDimitry Andric let Inst{8-5} = Ii{5-2}; 2737fe6060f1SDimitry Andric bits <2> Pt4; 2738fe6060f1SDimitry Andric let Inst{10-9} = Pt4{1-0}; 2739fe6060f1SDimitry Andric bits <5> Rd32; 2740fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2741fe6060f1SDimitry Andric bits <5> Rx32; 2742fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2743fe6060f1SDimitry Andric} 2744bdd1243dSDimitry Andricclass Enc_b98b95 : OpcodeHexagon { 2745bdd1243dSDimitry Andric bits <4> Ii; 2746bdd1243dSDimitry Andric let Inst{13-13} = Ii{3-3}; 2747bdd1243dSDimitry Andric let Inst{10-8} = Ii{2-0}; 2748bdd1243dSDimitry Andric bits <5> Rt32; 2749bdd1243dSDimitry Andric let Inst{20-16} = Rt32{4-0}; 2750bdd1243dSDimitry Andric bits <5> Vss32; 2751bdd1243dSDimitry Andric let Inst{4-0} = Vss32{4-0}; 2752bdd1243dSDimitry Andric} 2753fe6060f1SDimitry Andricclass Enc_b9c5fb : OpcodeHexagon { 2754fe6060f1SDimitry Andric bits <5> Rss32; 2755fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 2756fe6060f1SDimitry Andric bits <5> Rdd32; 2757fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2758fe6060f1SDimitry Andric} 2759fe6060f1SDimitry Andricclass Enc_bc03e5 : OpcodeHexagon { 2760fe6060f1SDimitry Andric bits <17> Ii; 2761fe6060f1SDimitry Andric let Inst{26-25} = Ii{16-15}; 2762fe6060f1SDimitry Andric let Inst{20-16} = Ii{14-10}; 2763fe6060f1SDimitry Andric let Inst{13-13} = Ii{9-9}; 2764fe6060f1SDimitry Andric let Inst{7-0} = Ii{8-1}; 2765fe6060f1SDimitry Andric bits <3> Nt8; 2766fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2767fe6060f1SDimitry Andric} 2768fe6060f1SDimitry Andricclass Enc_bd0b33 : OpcodeHexagon { 2769fe6060f1SDimitry Andric bits <10> Ii; 2770fe6060f1SDimitry Andric let Inst{21-21} = Ii{9-9}; 2771fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 2772fe6060f1SDimitry Andric bits <5> Rs32; 2773fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2774fe6060f1SDimitry Andric bits <2> Pd4; 2775fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 2776fe6060f1SDimitry Andric} 2777fe6060f1SDimitry Andricclass Enc_bd1cbc : OpcodeHexagon { 2778fe6060f1SDimitry Andric bits <5> Ii; 2779fe6060f1SDimitry Andric let Inst{8-5} = Ii{4-1}; 2780fe6060f1SDimitry Andric bits <5> Ryy32; 2781fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 2782fe6060f1SDimitry Andric bits <5> Rx32; 2783fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2784fe6060f1SDimitry Andric} 2785fe6060f1SDimitry Andricclass Enc_bd6011 : OpcodeHexagon { 2786fe6060f1SDimitry Andric bits <5> Rt32; 2787fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2788fe6060f1SDimitry Andric bits <5> Rs32; 2789fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2790fe6060f1SDimitry Andric bits <5> Rd32; 2791fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2792fe6060f1SDimitry Andric} 2793fe6060f1SDimitry Andricclass Enc_bd811a : OpcodeHexagon { 2794fe6060f1SDimitry Andric bits <5> Rs32; 2795fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2796fe6060f1SDimitry Andric bits <5> Cd32; 2797fe6060f1SDimitry Andric let Inst{4-0} = Cd32{4-0}; 2798fe6060f1SDimitry Andric} 2799fe6060f1SDimitry Andricclass Enc_bddee3 : OpcodeHexagon { 2800fe6060f1SDimitry Andric bits <5> Vu32; 2801fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2802fe6060f1SDimitry Andric bits <5> Vyyyy32; 2803fe6060f1SDimitry Andric let Inst{4-0} = Vyyyy32{4-0}; 2804fe6060f1SDimitry Andric bits <3> Rx8; 2805fe6060f1SDimitry Andric let Inst{18-16} = Rx8{2-0}; 2806fe6060f1SDimitry Andric} 2807fe6060f1SDimitry Andricclass Enc_be32a5 : OpcodeHexagon { 2808fe6060f1SDimitry Andric bits <5> Rs32; 2809fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2810fe6060f1SDimitry Andric bits <5> Rt32; 2811fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2812fe6060f1SDimitry Andric bits <5> Rdd32; 2813fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2814fe6060f1SDimitry Andric} 2815bdd1243dSDimitry Andricclass Enc_bea5da : OpcodeHexagon { 2816bdd1243dSDimitry Andric bits <10> Ii; 2817bdd1243dSDimitry Andric let Inst{17-16} = Ii{9-8}; 2818bdd1243dSDimitry Andric let Inst{12-8} = Ii{7-3}; 2819bdd1243dSDimitry Andric let Inst{4-2} = Ii{2-0}; 2820bdd1243dSDimitry Andric} 2821fe6060f1SDimitry Andricclass Enc_bfbf03 : OpcodeHexagon { 2822fe6060f1SDimitry Andric bits <2> Qs4; 2823fe6060f1SDimitry Andric let Inst{9-8} = Qs4{1-0}; 2824fe6060f1SDimitry Andric bits <2> Qd4; 2825fe6060f1SDimitry Andric let Inst{1-0} = Qd4{1-0}; 2826fe6060f1SDimitry Andric} 2827fe6060f1SDimitry Andricclass Enc_c0cdde : OpcodeHexagon { 2828fe6060f1SDimitry Andric bits <9> Ii; 2829fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 2830fe6060f1SDimitry Andric bits <5> Rs32; 2831fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2832fe6060f1SDimitry Andric bits <2> Pd4; 2833fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 2834fe6060f1SDimitry Andric} 2835fe6060f1SDimitry Andricclass Enc_c175d0 : OpcodeHexagon { 2836fe6060f1SDimitry Andric bits <4> Ii; 2837fe6060f1SDimitry Andric let Inst{11-8} = Ii{3-0}; 2838fe6060f1SDimitry Andric bits <4> Rs16; 2839fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 2840fe6060f1SDimitry Andric bits <4> Rd16; 2841fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 2842fe6060f1SDimitry Andric} 2843fe6060f1SDimitry Andricclass Enc_c1d806 : OpcodeHexagon { 2844fe6060f1SDimitry Andric bits <5> Vu32; 2845fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2846fe6060f1SDimitry Andric bits <5> Vv32; 2847fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 2848fe6060f1SDimitry Andric bits <5> Vd32; 2849fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2850fe6060f1SDimitry Andric bits <2> Qe4; 2851fe6060f1SDimitry Andric let Inst{6-5} = Qe4{1-0}; 2852fe6060f1SDimitry Andric} 2853fe6060f1SDimitry Andricclass Enc_c2b48e : OpcodeHexagon { 2854fe6060f1SDimitry Andric bits <5> Rs32; 2855fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2856fe6060f1SDimitry Andric bits <5> Rt32; 2857fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2858fe6060f1SDimitry Andric bits <2> Pd4; 2859fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 2860fe6060f1SDimitry Andric} 2861fe6060f1SDimitry Andricclass Enc_c31910 : OpcodeHexagon { 2862fe6060f1SDimitry Andric bits <8> Ii; 2863fe6060f1SDimitry Andric let Inst{23-21} = Ii{7-5}; 2864fe6060f1SDimitry Andric let Inst{13-13} = Ii{4-4}; 2865fe6060f1SDimitry Andric let Inst{7-5} = Ii{3-1}; 2866fe6060f1SDimitry Andric let Inst{3-3} = Ii{0-0}; 2867fe6060f1SDimitry Andric bits <5> II; 2868fe6060f1SDimitry Andric let Inst{12-8} = II{4-0}; 2869fe6060f1SDimitry Andric bits <5> Rx32; 2870fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2871fe6060f1SDimitry Andric} 2872fe6060f1SDimitry Andricclass Enc_c4dc92 : OpcodeHexagon { 2873fe6060f1SDimitry Andric bits <2> Qv4; 2874fe6060f1SDimitry Andric let Inst{23-22} = Qv4{1-0}; 2875fe6060f1SDimitry Andric bits <5> Vu32; 2876fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2877fe6060f1SDimitry Andric bits <5> Vd32; 2878fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 2879fe6060f1SDimitry Andric} 2880fe6060f1SDimitry Andricclass Enc_c6220b : OpcodeHexagon { 2881fe6060f1SDimitry Andric bits <2> Ii; 2882fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 2883fe6060f1SDimitry Andric let Inst{7-7} = Ii{0-0}; 2884fe6060f1SDimitry Andric bits <5> Rs32; 2885fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2886fe6060f1SDimitry Andric bits <5> Ru32; 2887fe6060f1SDimitry Andric let Inst{12-8} = Ru32{4-0}; 2888fe6060f1SDimitry Andric bits <3> Nt8; 2889fe6060f1SDimitry Andric let Inst{2-0} = Nt8{2-0}; 2890fe6060f1SDimitry Andric} 2891fe6060f1SDimitry Andricclass Enc_c7a204 : OpcodeHexagon { 2892fe6060f1SDimitry Andric bits <6> II; 2893fe6060f1SDimitry Andric let Inst{5-0} = II{5-0}; 2894fe6060f1SDimitry Andric bits <5> Rtt32; 2895fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 2896fe6060f1SDimitry Andric bits <5> Re32; 2897fe6060f1SDimitry Andric let Inst{20-16} = Re32{4-0}; 2898fe6060f1SDimitry Andric} 2899fe6060f1SDimitry Andricclass Enc_c7cd90 : OpcodeHexagon { 2900fe6060f1SDimitry Andric bits <4> Ii; 2901fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 2902fe6060f1SDimitry Andric bits <3> Nt8; 2903fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 2904fe6060f1SDimitry Andric bits <5> Rx32; 2905fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2906fe6060f1SDimitry Andric} 2907fe6060f1SDimitry Andricclass Enc_c85e2a : OpcodeHexagon { 2908fe6060f1SDimitry Andric bits <5> Ii; 2909fe6060f1SDimitry Andric let Inst{12-8} = Ii{4-0}; 2910fe6060f1SDimitry Andric bits <5> II; 2911fe6060f1SDimitry Andric let Inst{22-21} = II{4-3}; 2912fe6060f1SDimitry Andric let Inst{7-5} = II{2-0}; 2913fe6060f1SDimitry Andric bits <5> Rd32; 2914fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2915fe6060f1SDimitry Andric} 2916bdd1243dSDimitry Andricclass Enc_c89067 : OpcodeHexagon { 2917bdd1243dSDimitry Andric bits <5> Rtt32; 2918bdd1243dSDimitry Andric let Inst{20-16} = Rtt32{4-0}; 2919bdd1243dSDimitry Andric bits <5> Rdd32; 2920bdd1243dSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2921bdd1243dSDimitry Andric bits <5> Rx32; 2922bdd1243dSDimitry Andric let Inst{12-8} = Rx32{4-0}; 2923bdd1243dSDimitry Andric} 2924fe6060f1SDimitry Andricclass Enc_c90aca : OpcodeHexagon { 2925fe6060f1SDimitry Andric bits <8> Ii; 2926fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 2927fe6060f1SDimitry Andric bits <5> Rs32; 2928fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2929fe6060f1SDimitry Andric bits <5> Rx32; 2930fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 2931fe6060f1SDimitry Andric} 2932fe6060f1SDimitry Andricclass Enc_c9a18e : OpcodeHexagon { 2933fe6060f1SDimitry Andric bits <11> Ii; 2934fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 2935fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 2936fe6060f1SDimitry Andric bits <3> Ns8; 2937fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 2938fe6060f1SDimitry Andric bits <5> Rt32; 2939fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2940fe6060f1SDimitry Andric} 2941fe6060f1SDimitry Andricclass Enc_c9e3bc : OpcodeHexagon { 2942fe6060f1SDimitry Andric bits <4> Ii; 2943fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 2944fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 2945fe6060f1SDimitry Andric bits <5> Rt32; 2946fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2947fe6060f1SDimitry Andric bits <5> Vs32; 2948fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 2949fe6060f1SDimitry Andric} 2950fe6060f1SDimitry Andricclass Enc_ca3887 : OpcodeHexagon { 2951fe6060f1SDimitry Andric bits <5> Rs32; 2952fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2953fe6060f1SDimitry Andric bits <5> Rt32; 2954fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2955fe6060f1SDimitry Andric} 2956fe6060f1SDimitry Andricclass Enc_cb4b4e : OpcodeHexagon { 2957fe6060f1SDimitry Andric bits <2> Pu4; 2958fe6060f1SDimitry Andric let Inst{6-5} = Pu4{1-0}; 2959fe6060f1SDimitry Andric bits <5> Rs32; 2960fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2961fe6060f1SDimitry Andric bits <5> Rt32; 2962fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2963fe6060f1SDimitry Andric bits <5> Rdd32; 2964fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 2965fe6060f1SDimitry Andric} 2966fe6060f1SDimitry Andricclass Enc_cb785b : OpcodeHexagon { 2967fe6060f1SDimitry Andric bits <5> Vu32; 2968fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 2969fe6060f1SDimitry Andric bits <5> Rtt32; 2970fe6060f1SDimitry Andric let Inst{20-16} = Rtt32{4-0}; 2971fe6060f1SDimitry Andric bits <5> Vdd32; 2972fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 2973fe6060f1SDimitry Andric} 2974fe6060f1SDimitry Andricclass Enc_cb9321 : OpcodeHexagon { 2975fe6060f1SDimitry Andric bits <16> Ii; 2976fe6060f1SDimitry Andric let Inst{27-21} = Ii{15-9}; 2977fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 2978fe6060f1SDimitry Andric bits <5> Rs32; 2979fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 2980fe6060f1SDimitry Andric bits <5> Rd32; 2981fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 2982fe6060f1SDimitry Andric} 2983fe6060f1SDimitry Andricclass Enc_cc449f : OpcodeHexagon { 2984fe6060f1SDimitry Andric bits <4> Ii; 2985fe6060f1SDimitry Andric let Inst{6-3} = Ii{3-0}; 2986fe6060f1SDimitry Andric bits <2> Pv4; 2987fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 2988fe6060f1SDimitry Andric bits <5> Rt32; 2989fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 2990fe6060f1SDimitry Andric bits <5> Rx32; 2991fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 2992fe6060f1SDimitry Andric} 2993fe6060f1SDimitry Andricclass Enc_cc857d : OpcodeHexagon { 2994fe6060f1SDimitry Andric bits <5> Vuu32; 2995fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 2996fe6060f1SDimitry Andric bits <5> Rt32; 2997fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 2998fe6060f1SDimitry Andric bits <5> Vx32; 2999fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 3000fe6060f1SDimitry Andric} 3001fe6060f1SDimitry Andricclass Enc_cd4705 : OpcodeHexagon { 3002fe6060f1SDimitry Andric bits <3> Ii; 3003fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 3004fe6060f1SDimitry Andric bits <5> Vu32; 3005fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 3006fe6060f1SDimitry Andric bits <5> Vv32; 3007fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 3008fe6060f1SDimitry Andric bits <5> Vx32; 3009fe6060f1SDimitry Andric let Inst{4-0} = Vx32{4-0}; 3010fe6060f1SDimitry Andric} 3011fe6060f1SDimitry Andricclass Enc_cd82bc : OpcodeHexagon { 3012fe6060f1SDimitry Andric bits <4> Ii; 3013fe6060f1SDimitry Andric let Inst{21-21} = Ii{3-3}; 3014fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 3015fe6060f1SDimitry Andric bits <6> II; 3016fe6060f1SDimitry Andric let Inst{13-8} = II{5-0}; 3017fe6060f1SDimitry Andric bits <5> Rs32; 3018fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3019fe6060f1SDimitry Andric bits <5> Rx32; 3020fe6060f1SDimitry Andric let Inst{4-0} = Rx32{4-0}; 3021fe6060f1SDimitry Andric} 3022fe6060f1SDimitry Andricclass Enc_cda00a : OpcodeHexagon { 3023fe6060f1SDimitry Andric bits <12> Ii; 3024fe6060f1SDimitry Andric let Inst{19-16} = Ii{11-8}; 3025fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 3026fe6060f1SDimitry Andric bits <2> Pu4; 3027fe6060f1SDimitry Andric let Inst{22-21} = Pu4{1-0}; 3028fe6060f1SDimitry Andric bits <5> Rd32; 3029fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 3030fe6060f1SDimitry Andric} 3031fe6060f1SDimitry Andricclass Enc_ce6828 : OpcodeHexagon { 3032fe6060f1SDimitry Andric bits <14> Ii; 3033fe6060f1SDimitry Andric let Inst{26-25} = Ii{13-12}; 3034fe6060f1SDimitry Andric let Inst{13-13} = Ii{11-11}; 3035fe6060f1SDimitry Andric let Inst{7-0} = Ii{10-3}; 3036fe6060f1SDimitry Andric bits <5> Rs32; 3037fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3038fe6060f1SDimitry Andric bits <5> Rtt32; 3039fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 3040fe6060f1SDimitry Andric} 3041fe6060f1SDimitry Andricclass Enc_cf1927 : OpcodeHexagon { 3042fe6060f1SDimitry Andric bits <1> Mu2; 3043fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 3044fe6060f1SDimitry Andric bits <3> Os8; 3045fe6060f1SDimitry Andric let Inst{2-0} = Os8{2-0}; 3046fe6060f1SDimitry Andric bits <5> Rx32; 3047fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 3048fe6060f1SDimitry Andric} 3049bdd1243dSDimitry Andricclass Enc_d0fe02 : OpcodeHexagon { 3050bdd1243dSDimitry Andric bits <5> Rxx32; 3051bdd1243dSDimitry Andric let Inst{20-16} = Rxx32{4-0}; 3052bdd1243dSDimitry Andric bits <0> sgp10; 3053bdd1243dSDimitry Andric} 3054fe6060f1SDimitry Andricclass Enc_d15d19 : OpcodeHexagon { 3055fe6060f1SDimitry Andric bits <1> Mu2; 3056fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 3057fe6060f1SDimitry Andric bits <5> Vs32; 3058fe6060f1SDimitry Andric let Inst{4-0} = Vs32{4-0}; 3059fe6060f1SDimitry Andric bits <5> Rx32; 3060fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 3061fe6060f1SDimitry Andric} 30625ffd83dbSDimitry Andricclass Enc_d2216a : OpcodeHexagon { 30635ffd83dbSDimitry Andric bits <5> Rss32; 30645ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 30655ffd83dbSDimitry Andric bits <5> Rtt32; 30665ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 30675ffd83dbSDimitry Andric bits <5> Rd32; 30685ffd83dbSDimitry Andric let Inst{4-0} = Rd32{4-0}; 30695ffd83dbSDimitry Andric} 30705ffd83dbSDimitry Andricclass Enc_d2c7f1 : OpcodeHexagon { 30715ffd83dbSDimitry Andric bits <5> Rtt32; 30725ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 30735ffd83dbSDimitry Andric bits <5> Rss32; 30745ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 30755ffd83dbSDimitry Andric bits <5> Rdd32; 30765ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 30775ffd83dbSDimitry Andric bits <2> Pe4; 30785ffd83dbSDimitry Andric let Inst{6-5} = Pe4{1-0}; 30795ffd83dbSDimitry Andric} 30805ffd83dbSDimitry Andricclass Enc_d44e31 : OpcodeHexagon { 30815ffd83dbSDimitry Andric bits <6> Ii; 30825ffd83dbSDimitry Andric let Inst{12-7} = Ii{5-0}; 30835ffd83dbSDimitry Andric bits <5> Rs32; 30845ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 30855ffd83dbSDimitry Andric bits <5> Rt32; 30865ffd83dbSDimitry Andric let Inst{4-0} = Rt32{4-0}; 30875ffd83dbSDimitry Andric} 3088fe6060f1SDimitry Andricclass Enc_d483b9 : OpcodeHexagon { 3089fe6060f1SDimitry Andric bits <1> Ii; 3090fe6060f1SDimitry Andric let Inst{5-5} = Ii{0-0}; 3091fe6060f1SDimitry Andric bits <5> Vuu32; 3092fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 30935ffd83dbSDimitry Andric bits <5> Rt32; 3094fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 3095fe6060f1SDimitry Andric bits <5> Vxx32; 3096fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 30975ffd83dbSDimitry Andric} 3098fe6060f1SDimitry Andricclass Enc_d50cd3 : OpcodeHexagon { 3099fe6060f1SDimitry Andric bits <3> Ii; 3100fe6060f1SDimitry Andric let Inst{7-5} = Ii{2-0}; 3101fe6060f1SDimitry Andric bits <5> Rss32; 3102fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 3103fe6060f1SDimitry Andric bits <5> Rtt32; 3104fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 3105fe6060f1SDimitry Andric bits <5> Rdd32; 3106fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 3107fe6060f1SDimitry Andric} 3108fe6060f1SDimitry Andricclass Enc_d5c73f : OpcodeHexagon { 3109fe6060f1SDimitry Andric bits <1> Mu2; 3110fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 31115ffd83dbSDimitry Andric bits <5> Rt32; 3112fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 3113fe6060f1SDimitry Andric bits <5> Rx32; 3114fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 31155ffd83dbSDimitry Andric} 3116fe6060f1SDimitry Andricclass Enc_d6990d : OpcodeHexagon { 3117fe6060f1SDimitry Andric bits <5> Vuu32; 3118fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 3119fe6060f1SDimitry Andric bits <5> Rt32; 3120fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 3121fe6060f1SDimitry Andric bits <5> Vxx32; 3122fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 3123fe6060f1SDimitry Andric} 3124fe6060f1SDimitry Andricclass Enc_d7a65e : OpcodeHexagon { 31255ffd83dbSDimitry Andric bits <6> Ii; 31265ffd83dbSDimitry Andric let Inst{12-7} = Ii{5-0}; 3127fe6060f1SDimitry Andric bits <6> II; 3128fe6060f1SDimitry Andric let Inst{13-13} = II{5-5}; 31295ffd83dbSDimitry Andric let Inst{4-0} = II{4-0}; 3130fe6060f1SDimitry Andric bits <2> Pv4; 3131fe6060f1SDimitry Andric let Inst{6-5} = Pv4{1-0}; 31325ffd83dbSDimitry Andric bits <5> Rs32; 31335ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 31345ffd83dbSDimitry Andric} 3135fe6060f1SDimitry Andricclass Enc_d7bc34 : OpcodeHexagon { 3136fe6060f1SDimitry Andric bits <5> Vu32; 3137fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 3138fe6060f1SDimitry Andric bits <3> Rt8; 3139fe6060f1SDimitry Andric let Inst{18-16} = Rt8{2-0}; 3140fe6060f1SDimitry Andric bits <5> Vyyyy32; 3141fe6060f1SDimitry Andric let Inst{4-0} = Vyyyy32{4-0}; 3142fe6060f1SDimitry Andric} 3143fe6060f1SDimitry Andricclass Enc_d7dc10 : OpcodeHexagon { 31445ffd83dbSDimitry Andric bits <5> Rs32; 31455ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 3146fe6060f1SDimitry Andric bits <5> Rtt32; 3147fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 3148fe6060f1SDimitry Andric bits <2> Pd4; 3149fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 31505ffd83dbSDimitry Andric} 31515ffd83dbSDimitry Andricclass Enc_da664b : OpcodeHexagon { 31525ffd83dbSDimitry Andric bits <2> Ii; 31535ffd83dbSDimitry Andric let Inst{13-13} = Ii{1-1}; 31545ffd83dbSDimitry Andric let Inst{7-7} = Ii{0-0}; 31555ffd83dbSDimitry Andric bits <5> Rs32; 31565ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 31575ffd83dbSDimitry Andric bits <5> Rt32; 31585ffd83dbSDimitry Andric let Inst{12-8} = Rt32{4-0}; 31595ffd83dbSDimitry Andric bits <5> Rd32; 31605ffd83dbSDimitry Andric let Inst{4-0} = Rd32{4-0}; 31610b57cec5SDimitry Andric} 31625ffd83dbSDimitry Andricclass Enc_da8d43 : OpcodeHexagon { 31635ffd83dbSDimitry Andric bits <6> Ii; 31645ffd83dbSDimitry Andric let Inst{13-13} = Ii{5-5}; 31655ffd83dbSDimitry Andric let Inst{7-3} = Ii{4-0}; 31665ffd83dbSDimitry Andric bits <2> Pv4; 31675ffd83dbSDimitry Andric let Inst{1-0} = Pv4{1-0}; 31685ffd83dbSDimitry Andric bits <5> Rs32; 31695ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 31705ffd83dbSDimitry Andric bits <5> Rt32; 31715ffd83dbSDimitry Andric let Inst{12-8} = Rt32{4-0}; 31725ffd83dbSDimitry Andric} 3173fe6060f1SDimitry Andricclass Enc_daea09 : OpcodeHexagon { 3174fe6060f1SDimitry Andric bits <17> Ii; 3175fe6060f1SDimitry Andric let Inst{23-22} = Ii{16-15}; 3176fe6060f1SDimitry Andric let Inst{20-16} = Ii{14-10}; 3177fe6060f1SDimitry Andric let Inst{13-13} = Ii{9-9}; 3178fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 3179fe6060f1SDimitry Andric bits <2> Pu4; 3180fe6060f1SDimitry Andric let Inst{9-8} = Pu4{1-0}; 3181fe6060f1SDimitry Andric} 3182fe6060f1SDimitry Andricclass Enc_db40cd : OpcodeHexagon { 3183fe6060f1SDimitry Andric bits <6> Ii; 3184fe6060f1SDimitry Andric let Inst{6-3} = Ii{5-2}; 31855ffd83dbSDimitry Andric bits <5> Rt32; 31865ffd83dbSDimitry Andric let Inst{12-8} = Rt32{4-0}; 31870b57cec5SDimitry Andric bits <5> Rx32; 31880b57cec5SDimitry Andric let Inst{20-16} = Rx32{4-0}; 31890b57cec5SDimitry Andric} 3190fe6060f1SDimitry Andricclass Enc_dbd70c : OpcodeHexagon { 3191fe6060f1SDimitry Andric bits <5> Rss32; 3192fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 3193fe6060f1SDimitry Andric bits <5> Rtt32; 3194fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 3195fe6060f1SDimitry Andric bits <2> Pu4; 3196fe6060f1SDimitry Andric let Inst{6-5} = Pu4{1-0}; 3197fe6060f1SDimitry Andric bits <5> Rdd32; 3198fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 3199fe6060f1SDimitry Andric} 3200fe6060f1SDimitry Andricclass Enc_dd766a : OpcodeHexagon { 3201fe6060f1SDimitry Andric bits <5> Vu32; 3202fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 3203fe6060f1SDimitry Andric bits <5> Vdd32; 3204fe6060f1SDimitry Andric let Inst{4-0} = Vdd32{4-0}; 3205fe6060f1SDimitry Andric} 3206fe6060f1SDimitry Andricclass Enc_de0214 : OpcodeHexagon { 3207fe6060f1SDimitry Andric bits <12> Ii; 3208fe6060f1SDimitry Andric let Inst{26-25} = Ii{11-10}; 3209fe6060f1SDimitry Andric let Inst{13-5} = Ii{9-1}; 32100b57cec5SDimitry Andric bits <5> Rs32; 32110b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3212fe6060f1SDimitry Andric bits <5> Rd32; 3213fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 32140b57cec5SDimitry Andric} 32150eae32dcSDimitry Andricclass Enc_de5ea0 : OpcodeHexagon { 32160eae32dcSDimitry Andric bits <5> Vuu32; 32170eae32dcSDimitry Andric let Inst{12-8} = Vuu32{4-0}; 32180eae32dcSDimitry Andric bits <5> Vv32; 32190eae32dcSDimitry Andric let Inst{20-16} = Vv32{4-0}; 32200eae32dcSDimitry Andric bits <5> Vd32; 32210eae32dcSDimitry Andric let Inst{4-0} = Vd32{4-0}; 32220eae32dcSDimitry Andric} 3223fe6060f1SDimitry Andricclass Enc_e07374 : OpcodeHexagon { 3224fe6060f1SDimitry Andric bits <5> Rs32; 3225fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3226fe6060f1SDimitry Andric bits <5> Rtt32; 3227fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 3228fe6060f1SDimitry Andric bits <5> Rd32; 3229fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 3230fe6060f1SDimitry Andric} 3231fe6060f1SDimitry Andricclass Enc_e0820b : OpcodeHexagon { 3232fe6060f1SDimitry Andric bits <5> Vu32; 3233fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 3234fe6060f1SDimitry Andric bits <5> Vv32; 3235fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 3236fe6060f1SDimitry Andric bits <2> Qs4; 3237fe6060f1SDimitry Andric let Inst{6-5} = Qs4{1-0}; 3238fe6060f1SDimitry Andric bits <5> Vd32; 3239fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 3240fe6060f1SDimitry Andric} 3241fe6060f1SDimitry Andricclass Enc_e0a47a : OpcodeHexagon { 32425ffd83dbSDimitry Andric bits <4> Ii; 3243fe6060f1SDimitry Andric let Inst{8-5} = Ii{3-0}; 3244fe6060f1SDimitry Andric bits <1> Mu2; 3245fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 3246fe6060f1SDimitry Andric bits <5> Rd32; 3247fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 3248fe6060f1SDimitry Andric bits <5> Rx32; 3249fe6060f1SDimitry Andric let Inst{20-16} = Rx32{4-0}; 3250fe6060f1SDimitry Andric} 3251fe6060f1SDimitry Andricclass Enc_e26546 : OpcodeHexagon { 3252fe6060f1SDimitry Andric bits <5> Ii; 3253fe6060f1SDimitry Andric let Inst{6-3} = Ii{4-1}; 32545ffd83dbSDimitry Andric bits <3> Nt8; 32555ffd83dbSDimitry Andric let Inst{10-8} = Nt8{2-0}; 32565ffd83dbSDimitry Andric bits <5> Rx32; 32575ffd83dbSDimitry Andric let Inst{20-16} = Rx32{4-0}; 32585ffd83dbSDimitry Andric} 3259349cc55cSDimitry Andricclass Enc_e32517 : OpcodeHexagon { 3260349cc55cSDimitry Andric bits <7> Sss128; 3261349cc55cSDimitry Andric let Inst{22-16} = Sss128{6-0}; 3262349cc55cSDimitry Andric bits <5> Rdd32; 3263349cc55cSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 3264349cc55cSDimitry Andric} 3265fe6060f1SDimitry Andricclass Enc_e38e1f : OpcodeHexagon { 3266fe6060f1SDimitry Andric bits <8> Ii; 3267fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 3268fe6060f1SDimitry Andric bits <2> Pu4; 3269fe6060f1SDimitry Andric let Inst{22-21} = Pu4{1-0}; 3270fe6060f1SDimitry Andric bits <5> Rs32; 3271fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3272fe6060f1SDimitry Andric bits <5> Rd32; 3273fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 3274fe6060f1SDimitry Andric} 3275fe6060f1SDimitry Andricclass Enc_e39bb2 : OpcodeHexagon { 3276fe6060f1SDimitry Andric bits <6> Ii; 3277fe6060f1SDimitry Andric let Inst{9-4} = Ii{5-0}; 3278fe6060f1SDimitry Andric bits <4> Rd16; 3279fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 3280fe6060f1SDimitry Andric} 3281fe6060f1SDimitry Andricclass Enc_e3b0c4 : OpcodeHexagon { 3282fe6060f1SDimitry Andric 3283fe6060f1SDimitry Andric} 3284fe6060f1SDimitry Andricclass Enc_e66a97 : OpcodeHexagon { 3285fe6060f1SDimitry Andric bits <7> Ii; 3286fe6060f1SDimitry Andric let Inst{12-7} = Ii{6-1}; 3287fe6060f1SDimitry Andric bits <5> II; 3288fe6060f1SDimitry Andric let Inst{4-0} = II{4-0}; 3289fe6060f1SDimitry Andric bits <5> Rs32; 3290fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3291fe6060f1SDimitry Andric} 3292fe6060f1SDimitry Andricclass Enc_e6abcf : OpcodeHexagon { 32935ffd83dbSDimitry Andric bits <5> Rs32; 32945ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 32955ffd83dbSDimitry Andric bits <5> Rtt32; 32965ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 32975ffd83dbSDimitry Andric} 3298fe6060f1SDimitry Andricclass Enc_e6c957 : OpcodeHexagon { 3299fe6060f1SDimitry Andric bits <10> Ii; 3300fe6060f1SDimitry Andric let Inst{21-21} = Ii{9-9}; 3301fe6060f1SDimitry Andric let Inst{13-5} = Ii{8-0}; 3302fe6060f1SDimitry Andric bits <5> Rdd32; 3303fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 3304fe6060f1SDimitry Andric} 3305fe6060f1SDimitry Andricclass Enc_e7581c : OpcodeHexagon { 3306fe6060f1SDimitry Andric bits <5> Vu32; 3307fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 3308fe6060f1SDimitry Andric bits <5> Vd32; 3309fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 3310fe6060f1SDimitry Andric} 3311fe6060f1SDimitry Andricclass Enc_e83554 : OpcodeHexagon { 3312fe6060f1SDimitry Andric bits <5> Ii; 3313fe6060f1SDimitry Andric let Inst{8-5} = Ii{4-1}; 3314fe6060f1SDimitry Andric bits <1> Mu2; 3315fe6060f1SDimitry Andric let Inst{13-13} = Mu2{0-0}; 3316fe6060f1SDimitry Andric bits <5> Rd32; 3317fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 33185ffd83dbSDimitry Andric bits <5> Rx32; 33195ffd83dbSDimitry Andric let Inst{20-16} = Rx32{4-0}; 33205ffd83dbSDimitry Andric} 33215ffd83dbSDimitry Andricclass Enc_e8c45e : OpcodeHexagon { 33225ffd83dbSDimitry Andric bits <7> Ii; 33235ffd83dbSDimitry Andric let Inst{13-13} = Ii{6-6}; 33245ffd83dbSDimitry Andric let Inst{7-3} = Ii{5-1}; 33255ffd83dbSDimitry Andric bits <2> Pv4; 33265ffd83dbSDimitry Andric let Inst{1-0} = Pv4{1-0}; 33270b57cec5SDimitry Andric bits <5> Rs32; 33280b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 33290b57cec5SDimitry Andric bits <5> Rt32; 33305ffd83dbSDimitry Andric let Inst{12-8} = Rt32{4-0}; 33315ffd83dbSDimitry Andric} 3332fe6060f1SDimitry Andricclass Enc_e90a15 : OpcodeHexagon { 33330b57cec5SDimitry Andric bits <11> Ii; 3334fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 3335fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 3336fe6060f1SDimitry Andric bits <3> Ns8; 3337fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 3338fe6060f1SDimitry Andric bits <4> n1; 3339fe6060f1SDimitry Andric let Inst{29-29} = n1{3-3}; 3340fe6060f1SDimitry Andric let Inst{26-25} = n1{2-1}; 3341fe6060f1SDimitry Andric let Inst{22-22} = n1{0-0}; 33420b57cec5SDimitry Andric} 33430b57cec5SDimitry Andricclass Enc_e957fb : OpcodeHexagon { 33440b57cec5SDimitry Andric bits <12> Ii; 33450b57cec5SDimitry Andric let Inst{26-25} = Ii{11-10}; 33460b57cec5SDimitry Andric let Inst{13-13} = Ii{9-9}; 33470b57cec5SDimitry Andric let Inst{7-0} = Ii{8-1}; 33480b57cec5SDimitry Andric bits <5> Rs32; 33490b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 33500b57cec5SDimitry Andric bits <5> Rt32; 33510b57cec5SDimitry Andric let Inst{12-8} = Rt32{4-0}; 33520b57cec5SDimitry Andric} 3353fe6060f1SDimitry Andricclass Enc_ea23e4 : OpcodeHexagon { 33545ffd83dbSDimitry Andric bits <5> Rtt32; 33555ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 33565ffd83dbSDimitry Andric bits <5> Rss32; 33575ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 33585ffd83dbSDimitry Andric bits <5> Rdd32; 33595ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 33605ffd83dbSDimitry Andric} 3361fe6060f1SDimitry Andricclass Enc_ea4c54 : OpcodeHexagon { 33625ffd83dbSDimitry Andric bits <2> Pu4; 33635ffd83dbSDimitry Andric let Inst{6-5} = Pu4{1-0}; 33645ffd83dbSDimitry Andric bits <5> Rs32; 33655ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 3366fe6060f1SDimitry Andric bits <5> Rt32; 3367fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 33685ffd83dbSDimitry Andric bits <5> Rd32; 3369fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 33705ffd83dbSDimitry Andric} 3371fe6060f1SDimitry Andricclass Enc_eaa9f8 : OpcodeHexagon { 3372fe6060f1SDimitry Andric bits <5> Vu32; 3373fe6060f1SDimitry Andric let Inst{12-8} = Vu32{4-0}; 3374fe6060f1SDimitry Andric bits <5> Vv32; 3375fe6060f1SDimitry Andric let Inst{20-16} = Vv32{4-0}; 3376fe6060f1SDimitry Andric bits <2> Qx4; 3377fe6060f1SDimitry Andric let Inst{1-0} = Qx4{1-0}; 3378fe6060f1SDimitry Andric} 3379fe6060f1SDimitry Andricclass Enc_eafd18 : OpcodeHexagon { 33805ffd83dbSDimitry Andric bits <5> II; 33815ffd83dbSDimitry Andric let Inst{12-8} = II{4-0}; 3382fe6060f1SDimitry Andric bits <11> Ii; 3383fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 3384fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 3385fe6060f1SDimitry Andric bits <3> Ns8; 3386fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 33875ffd83dbSDimitry Andric} 3388fe6060f1SDimitry Andricclass Enc_eca7c8 : OpcodeHexagon { 33890b57cec5SDimitry Andric bits <2> Ii; 33900b57cec5SDimitry Andric let Inst{13-13} = Ii{1-1}; 33910b57cec5SDimitry Andric let Inst{7-7} = Ii{0-0}; 33920b57cec5SDimitry Andric bits <5> Rs32; 33930b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 33940b57cec5SDimitry Andric bits <5> Ru32; 33950b57cec5SDimitry Andric let Inst{12-8} = Ru32{4-0}; 33960b57cec5SDimitry Andric bits <5> Rt32; 33970b57cec5SDimitry Andric let Inst{4-0} = Rt32{4-0}; 33980b57cec5SDimitry Andric} 3399fe6060f1SDimitry Andricclass Enc_ecbcc8 : OpcodeHexagon { 3400fe6060f1SDimitry Andric bits <5> Rs32; 3401fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 34020b57cec5SDimitry Andric} 3403fe6060f1SDimitry Andricclass Enc_ed48be : OpcodeHexagon { 34040b57cec5SDimitry Andric bits <2> Ii; 3405fe6060f1SDimitry Andric let Inst{6-5} = Ii{1-0}; 3406fe6060f1SDimitry Andric bits <3> Rdd8; 3407fe6060f1SDimitry Andric let Inst{2-0} = Rdd8{2-0}; 3408fe6060f1SDimitry Andric} 3409fe6060f1SDimitry Andricclass Enc_ed5027 : OpcodeHexagon { 3410fe6060f1SDimitry Andric bits <5> Rss32; 3411fe6060f1SDimitry Andric let Inst{20-16} = Rss32{4-0}; 3412fe6060f1SDimitry Andric bits <5> Gdd32; 3413fe6060f1SDimitry Andric let Inst{4-0} = Gdd32{4-0}; 3414fe6060f1SDimitry Andric} 3415fe6060f1SDimitry Andricclass Enc_ee5ed0 : OpcodeHexagon { 3416fe6060f1SDimitry Andric bits <4> Rs16; 3417fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 3418fe6060f1SDimitry Andric bits <4> Rd16; 3419fe6060f1SDimitry Andric let Inst{3-0} = Rd16{3-0}; 3420fe6060f1SDimitry Andric bits <2> n1; 3421fe6060f1SDimitry Andric let Inst{9-8} = n1{1-0}; 3422fe6060f1SDimitry Andric} 3423fe6060f1SDimitry Andricclass Enc_ef601b : OpcodeHexagon { 3424fe6060f1SDimitry Andric bits <4> Ii; 3425fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 3426fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 34270b57cec5SDimitry Andric bits <2> Pv4; 3428fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 3429fe6060f1SDimitry Andric bits <5> Rt32; 3430fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 34310b57cec5SDimitry Andric} 3432fe6060f1SDimitry Andricclass Enc_efaed8 : OpcodeHexagon { 3433fe6060f1SDimitry Andric bits <1> Ii; 3434fe6060f1SDimitry Andric let Inst{8-8} = Ii{0-0}; 34350b57cec5SDimitry Andric} 3436fe6060f1SDimitry Andricclass Enc_f0cca7 : OpcodeHexagon { 3437fe6060f1SDimitry Andric bits <8> Ii; 3438fe6060f1SDimitry Andric let Inst{12-5} = Ii{7-0}; 34395ffd83dbSDimitry Andric bits <6> II; 3440fe6060f1SDimitry Andric let Inst{20-16} = II{5-1}; 3441fe6060f1SDimitry Andric let Inst{13-13} = II{0-0}; 3442fe6060f1SDimitry Andric bits <5> Rdd32; 3443fe6060f1SDimitry Andric let Inst{4-0} = Rdd32{4-0}; 34440b57cec5SDimitry Andric} 34450b57cec5SDimitry Andricclass Enc_f20719 : OpcodeHexagon { 34460b57cec5SDimitry Andric bits <7> Ii; 34470b57cec5SDimitry Andric let Inst{12-7} = Ii{6-1}; 34480b57cec5SDimitry Andric bits <6> II; 34490b57cec5SDimitry Andric let Inst{13-13} = II{5-5}; 34500b57cec5SDimitry Andric let Inst{4-0} = II{4-0}; 34510b57cec5SDimitry Andric bits <2> Pv4; 34520b57cec5SDimitry Andric let Inst{6-5} = Pv4{1-0}; 34530b57cec5SDimitry Andric bits <5> Rs32; 34540b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 34550b57cec5SDimitry Andric} 34565ffd83dbSDimitry Andricclass Enc_f37377 : OpcodeHexagon { 34575ffd83dbSDimitry Andric bits <8> Ii; 34585ffd83dbSDimitry Andric let Inst{12-7} = Ii{7-2}; 34595ffd83dbSDimitry Andric bits <8> II; 34605ffd83dbSDimitry Andric let Inst{13-13} = II{7-7}; 34615ffd83dbSDimitry Andric let Inst{6-0} = II{6-0}; 34620b57cec5SDimitry Andric bits <5> Rs32; 34630b57cec5SDimitry Andric let Inst{20-16} = Rs32{4-0}; 34640b57cec5SDimitry Andric} 3465fe6060f1SDimitry Andricclass Enc_f394d3 : OpcodeHexagon { 34660b57cec5SDimitry Andric bits <6> II; 3467fe6060f1SDimitry Andric let Inst{11-8} = II{5-2}; 3468fe6060f1SDimitry Andric let Inst{6-5} = II{1-0}; 3469fe6060f1SDimitry Andric bits <5> Ryy32; 3470fe6060f1SDimitry Andric let Inst{4-0} = Ryy32{4-0}; 34715ffd83dbSDimitry Andric bits <5> Re32; 34725ffd83dbSDimitry Andric let Inst{20-16} = Re32{4-0}; 34730b57cec5SDimitry Andric} 34745ffd83dbSDimitry Andricclass Enc_f3f408 : OpcodeHexagon { 34755ffd83dbSDimitry Andric bits <4> Ii; 34765ffd83dbSDimitry Andric let Inst{13-13} = Ii{3-3}; 34775ffd83dbSDimitry Andric let Inst{10-8} = Ii{2-0}; 34785ffd83dbSDimitry Andric bits <5> Rt32; 34795ffd83dbSDimitry Andric let Inst{20-16} = Rt32{4-0}; 34805ffd83dbSDimitry Andric bits <5> Vd32; 34815ffd83dbSDimitry Andric let Inst{4-0} = Vd32{4-0}; 34825ffd83dbSDimitry Andric} 3483fe6060f1SDimitry Andricclass Enc_f4413a : OpcodeHexagon { 34845ffd83dbSDimitry Andric bits <4> Ii; 3485fe6060f1SDimitry Andric let Inst{8-5} = Ii{3-0}; 3486fe6060f1SDimitry Andric bits <2> Pt4; 3487fe6060f1SDimitry Andric let Inst{10-9} = Pt4{1-0}; 3488fe6060f1SDimitry Andric bits <5> Rd32; 3489fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 34905ffd83dbSDimitry Andric bits <5> Rx32; 34915ffd83dbSDimitry Andric let Inst{20-16} = Rx32{4-0}; 34925ffd83dbSDimitry Andric} 3493fe6060f1SDimitry Andricclass Enc_f44229 : OpcodeHexagon { 3494fe6060f1SDimitry Andric bits <7> Ii; 3495fe6060f1SDimitry Andric let Inst{13-13} = Ii{6-6}; 3496fe6060f1SDimitry Andric let Inst{7-3} = Ii{5-1}; 34975ffd83dbSDimitry Andric bits <2> Pv4; 3498fe6060f1SDimitry Andric let Inst{1-0} = Pv4{1-0}; 3499fe6060f1SDimitry Andric bits <5> Rs32; 3500fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3501fe6060f1SDimitry Andric bits <3> Nt8; 3502fe6060f1SDimitry Andric let Inst{10-8} = Nt8{2-0}; 35035ffd83dbSDimitry Andric} 3504fe6060f1SDimitry Andricclass Enc_f4f57b : OpcodeHexagon { 3505fe6060f1SDimitry Andric bits <2> Ii; 3506fe6060f1SDimitry Andric let Inst{6-5} = Ii{1-0}; 3507fe6060f1SDimitry Andric bits <5> Vuu32; 3508fe6060f1SDimitry Andric let Inst{12-8} = Vuu32{4-0}; 3509fe6060f1SDimitry Andric bits <5> Vvv32; 3510fe6060f1SDimitry Andric let Inst{20-16} = Vvv32{4-0}; 3511fe6060f1SDimitry Andric bits <5> Vxx32; 3512fe6060f1SDimitry Andric let Inst{4-0} = Vxx32{4-0}; 35135ffd83dbSDimitry Andric} 3514fe6060f1SDimitry Andricclass Enc_f55a0c : OpcodeHexagon { 3515fe6060f1SDimitry Andric bits <6> Ii; 3516fe6060f1SDimitry Andric let Inst{11-8} = Ii{5-2}; 3517fe6060f1SDimitry Andric bits <4> Rs16; 3518fe6060f1SDimitry Andric let Inst{7-4} = Rs16{3-0}; 3519fe6060f1SDimitry Andric bits <4> Rt16; 3520fe6060f1SDimitry Andric let Inst{3-0} = Rt16{3-0}; 35215ffd83dbSDimitry Andric} 3522fe6060f1SDimitry Andricclass Enc_f5e933 : OpcodeHexagon { 3523fe6060f1SDimitry Andric bits <2> Ps4; 3524fe6060f1SDimitry Andric let Inst{17-16} = Ps4{1-0}; 3525fe6060f1SDimitry Andric bits <5> Rd32; 3526fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 35275ffd83dbSDimitry Andric} 3528fe6060f1SDimitry Andricclass Enc_f6fe0b : OpcodeHexagon { 3529fe6060f1SDimitry Andric bits <11> Ii; 3530fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 3531fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 3532fe6060f1SDimitry Andric bits <4> Rs16; 3533fe6060f1SDimitry Andric let Inst{19-16} = Rs16{3-0}; 3534fe6060f1SDimitry Andric bits <6> n1; 3535fe6060f1SDimitry Andric let Inst{28-28} = n1{5-5}; 3536fe6060f1SDimitry Andric let Inst{24-22} = n1{4-2}; 3537fe6060f1SDimitry Andric let Inst{13-13} = n1{1-1}; 3538fe6060f1SDimitry Andric let Inst{8-8} = n1{0-0}; 35395ffd83dbSDimitry Andric} 35405ffd83dbSDimitry Andricclass Enc_f7430e : OpcodeHexagon { 35415ffd83dbSDimitry Andric bits <4> Ii; 35425ffd83dbSDimitry Andric let Inst{13-13} = Ii{3-3}; 35435ffd83dbSDimitry Andric let Inst{10-8} = Ii{2-0}; 35445ffd83dbSDimitry Andric bits <2> Pv4; 35455ffd83dbSDimitry Andric let Inst{12-11} = Pv4{1-0}; 35465ffd83dbSDimitry Andric bits <5> Rt32; 35475ffd83dbSDimitry Andric let Inst{20-16} = Rt32{4-0}; 35485ffd83dbSDimitry Andric bits <3> Os8; 35495ffd83dbSDimitry Andric let Inst{2-0} = Os8{2-0}; 35505ffd83dbSDimitry Andric} 3551fe6060f1SDimitry Andricclass Enc_f77fbc : OpcodeHexagon { 35525ffd83dbSDimitry Andric bits <4> Ii; 35535ffd83dbSDimitry Andric let Inst{13-13} = Ii{3-3}; 35545ffd83dbSDimitry Andric let Inst{10-8} = Ii{2-0}; 35555ffd83dbSDimitry Andric bits <5> Rt32; 35565ffd83dbSDimitry Andric let Inst{20-16} = Rt32{4-0}; 3557fe6060f1SDimitry Andric bits <3> Os8; 3558fe6060f1SDimitry Andric let Inst{2-0} = Os8{2-0}; 35595ffd83dbSDimitry Andric} 3560fe6060f1SDimitry Andricclass Enc_f79415 : OpcodeHexagon { 3561fe6060f1SDimitry Andric bits <2> Ii; 3562fe6060f1SDimitry Andric let Inst{13-13} = Ii{1-1}; 3563fe6060f1SDimitry Andric let Inst{6-6} = Ii{0-0}; 3564fe6060f1SDimitry Andric bits <6> II; 3565fe6060f1SDimitry Andric let Inst{5-0} = II{5-0}; 3566fe6060f1SDimitry Andric bits <5> Ru32; 3567fe6060f1SDimitry Andric let Inst{20-16} = Ru32{4-0}; 3568fe6060f1SDimitry Andric bits <5> Rtt32; 3569fe6060f1SDimitry Andric let Inst{12-8} = Rtt32{4-0}; 35705ffd83dbSDimitry Andric} 3571fe6060f1SDimitry Andricclass Enc_f7ea77 : OpcodeHexagon { 3572fe6060f1SDimitry Andric bits <11> Ii; 3573fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 3574fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 3575fe6060f1SDimitry Andric bits <3> Ns8; 3576fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 3577fe6060f1SDimitry Andric bits <4> n1; 3578fe6060f1SDimitry Andric let Inst{29-29} = n1{3-3}; 3579fe6060f1SDimitry Andric let Inst{26-25} = n1{2-1}; 3580fe6060f1SDimitry Andric let Inst{13-13} = n1{0-0}; 3581fe6060f1SDimitry Andric} 3582fe6060f1SDimitry Andricclass Enc_f82302 : OpcodeHexagon { 3583fe6060f1SDimitry Andric bits <11> Ii; 3584fe6060f1SDimitry Andric let Inst{21-20} = Ii{10-9}; 3585fe6060f1SDimitry Andric let Inst{7-1} = Ii{8-2}; 3586fe6060f1SDimitry Andric bits <3> Ns8; 3587fe6060f1SDimitry Andric let Inst{18-16} = Ns8{2-0}; 3588fe6060f1SDimitry Andric bits <4> n1; 3589fe6060f1SDimitry Andric let Inst{29-29} = n1{3-3}; 3590fe6060f1SDimitry Andric let Inst{26-25} = n1{2-1}; 3591fe6060f1SDimitry Andric let Inst{23-23} = n1{0-0}; 3592fe6060f1SDimitry Andric} 3593fe6060f1SDimitry Andricclass Enc_f82eaf : OpcodeHexagon { 3594fe6060f1SDimitry Andric bits <8> Ii; 3595fe6060f1SDimitry Andric let Inst{10-5} = Ii{7-2}; 3596fe6060f1SDimitry Andric bits <2> Pt4; 3597fe6060f1SDimitry Andric let Inst{12-11} = Pt4{1-0}; 3598fe6060f1SDimitry Andric bits <5> Rs32; 3599fe6060f1SDimitry Andric let Inst{20-16} = Rs32{4-0}; 3600fe6060f1SDimitry Andric bits <5> Rd32; 3601fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 3602fe6060f1SDimitry Andric} 3603fe6060f1SDimitry Andricclass Enc_f8c1c4 : OpcodeHexagon { 3604fe6060f1SDimitry Andric bits <2> Pv4; 3605fe6060f1SDimitry Andric let Inst{12-11} = Pv4{1-0}; 36065ffd83dbSDimitry Andric bits <1> Mu2; 36075ffd83dbSDimitry Andric let Inst{13-13} = Mu2{0-0}; 3608fe6060f1SDimitry Andric bits <5> Vd32; 3609fe6060f1SDimitry Andric let Inst{4-0} = Vd32{4-0}; 36105ffd83dbSDimitry Andric bits <5> Rx32; 36115ffd83dbSDimitry Andric let Inst{20-16} = Rx32{4-0}; 36125ffd83dbSDimitry Andric} 36135ffd83dbSDimitry Andricclass Enc_f8ecf9 : OpcodeHexagon { 36145ffd83dbSDimitry Andric bits <5> Vuu32; 36155ffd83dbSDimitry Andric let Inst{12-8} = Vuu32{4-0}; 36165ffd83dbSDimitry Andric bits <5> Vvv32; 36175ffd83dbSDimitry Andric let Inst{20-16} = Vvv32{4-0}; 36185ffd83dbSDimitry Andric bits <5> Vdd32; 36195ffd83dbSDimitry Andric let Inst{4-0} = Vdd32{4-0}; 36205ffd83dbSDimitry Andric} 3621fe6060f1SDimitry Andricclass Enc_fa3ba4 : OpcodeHexagon { 36225ffd83dbSDimitry Andric bits <14> Ii; 3623fe6060f1SDimitry Andric let Inst{26-25} = Ii{13-12}; 3624fe6060f1SDimitry Andric let Inst{13-5} = Ii{11-3}; 36255ffd83dbSDimitry Andric bits <5> Rs32; 36265ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 36275ffd83dbSDimitry Andric bits <5> Rdd32; 36285ffd83dbSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 36295ffd83dbSDimitry Andric} 3630fe6060f1SDimitry Andricclass Enc_fb6577 : OpcodeHexagon { 3631fe6060f1SDimitry Andric bits <2> Pu4; 3632fe6060f1SDimitry Andric let Inst{9-8} = Pu4{1-0}; 36335ffd83dbSDimitry Andric bits <5> Rs32; 36345ffd83dbSDimitry Andric let Inst{20-16} = Rs32{4-0}; 3635fe6060f1SDimitry Andric bits <5> Rd32; 3636fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 36375ffd83dbSDimitry Andric} 3638bdd1243dSDimitry Andricclass Enc_fc4562 : OpcodeHexagon { 3639bdd1243dSDimitry Andric bits <5> Rs32; 3640bdd1243dSDimitry Andric let Inst{12-8} = Rs32{4-0}; 3641bdd1243dSDimitry Andric bits <5> Rtt32; 3642bdd1243dSDimitry Andric let Inst{20-16} = Rtt32{4-0}; 3643bdd1243dSDimitry Andric bits <5> Rdd32; 3644bdd1243dSDimitry Andric let Inst{4-0} = Rdd32{4-0}; 3645bdd1243dSDimitry Andric} 3646fe6060f1SDimitry Andricclass Enc_fcf7a7 : OpcodeHexagon { 36475ffd83dbSDimitry Andric bits <5> Rss32; 36485ffd83dbSDimitry Andric let Inst{20-16} = Rss32{4-0}; 36495ffd83dbSDimitry Andric bits <5> Rtt32; 36505ffd83dbSDimitry Andric let Inst{12-8} = Rtt32{4-0}; 3651fe6060f1SDimitry Andric bits <2> Pd4; 3652fe6060f1SDimitry Andric let Inst{1-0} = Pd4{1-0}; 36535ffd83dbSDimitry Andric} 3654fe6060f1SDimitry Andricclass Enc_fda92c : OpcodeHexagon { 3655fe6060f1SDimitry Andric bits <17> Ii; 3656fe6060f1SDimitry Andric let Inst{26-25} = Ii{16-15}; 3657fe6060f1SDimitry Andric let Inst{20-16} = Ii{14-10}; 3658fe6060f1SDimitry Andric let Inst{13-13} = Ii{9-9}; 3659fe6060f1SDimitry Andric let Inst{7-0} = Ii{8-1}; 3660fe6060f1SDimitry Andric bits <5> Rt32; 3661fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 3662fe6060f1SDimitry Andric} 3663fe6060f1SDimitry Andricclass Enc_fef969 : OpcodeHexagon { 3664fe6060f1SDimitry Andric bits <6> Ii; 3665fe6060f1SDimitry Andric let Inst{20-16} = Ii{5-1}; 3666fe6060f1SDimitry Andric let Inst{5-5} = Ii{0-0}; 3667fe6060f1SDimitry Andric bits <5> Rt32; 3668fe6060f1SDimitry Andric let Inst{12-8} = Rt32{4-0}; 3669fe6060f1SDimitry Andric bits <5> Rd32; 3670fe6060f1SDimitry Andric let Inst{4-0} = Rd32{4-0}; 3671fe6060f1SDimitry Andric} 3672fe6060f1SDimitry Andricclass Enc_ff3442 : OpcodeHexagon { 3673fe6060f1SDimitry Andric bits <4> Ii; 3674fe6060f1SDimitry Andric let Inst{13-13} = Ii{3-3}; 3675fe6060f1SDimitry Andric let Inst{10-8} = Ii{2-0}; 3676fe6060f1SDimitry Andric bits <5> Rt32; 3677fe6060f1SDimitry Andric let Inst{20-16} = Rt32{4-0}; 36785ffd83dbSDimitry Andric} 3679