sve_2nd_level.isa (14091:090449e74135) sve_2nd_level.isa (14106:293e3f4b1321)
1// Copyright (c) 2017-2019 ARM Limited
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

--- 3109 unchanged lines hidden (view full) ---

3118 decodeSveContigNTLoadSS(ExtMachInst machInst)
3119 {
3120 return new Unknown64(machInst);
3121 } // decodeSveContigNTLoadSS
3122
3123 StaticInstPtr
3124 decodeSveLoadStructsSS(ExtMachInst machInst)
3125 {
1// Copyright (c) 2017-2019 ARM Limited
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

--- 3109 unchanged lines hidden (view full) ---

3118 decodeSveContigNTLoadSS(ExtMachInst machInst)
3119 {
3120 return new Unknown64(machInst);
3121 } // decodeSveContigNTLoadSS
3122
3123 StaticInstPtr
3124 decodeSveLoadStructsSS(ExtMachInst machInst)
3125 {
3126 IntRegIndex zt = (IntRegIndex) (uint8_t) bits(machInst, 4, 0);
3127 IntRegIndex rn = (IntRegIndex) (uint8_t) bits(machInst, 9, 5);
3128 IntRegIndex rm = (IntRegIndex) (uint8_t) bits(machInst, 20, 16);
3129 IntRegIndex pg = (IntRegIndex) (uint8_t) bits(machInst, 12, 10);
3130 uint8_t msz = bits(machInst, 24, 23);
3131 uint8_t num = bits(machInst, 22, 21);
3132
3133 if (rm != 0x1f && num != 0) {
3134 num++;
3135 return decodeSveStructLoadSSInsts(msz, machInst,
3136 zt, pg, rn, rm, num);
3137 }
3126 return new Unknown64(machInst);
3127 } // decodeSveLoadStructsSS
3128
3129 StaticInstPtr
3130 decodeSveContigNTLoadSI(ExtMachInst machInst)
3131 {
3132 return new Unknown64(machInst);
3133 } // decodeSveContigNTLoadSI
3134
3135 StaticInstPtr
3136 decodeSveLoadStructsSI(ExtMachInst machInst)
3137 {
3138 return new Unknown64(machInst);
3139 } // decodeSveLoadStructsSS
3140
3141 StaticInstPtr
3142 decodeSveContigNTLoadSI(ExtMachInst machInst)
3143 {
3144 return new Unknown64(machInst);
3145 } // decodeSveContigNTLoadSI
3146
3147 StaticInstPtr
3148 decodeSveLoadStructsSI(ExtMachInst machInst)
3149 {
3150 IntRegIndex zt = (IntRegIndex) (uint8_t) bits(machInst, 4, 0);
3151 IntRegIndex rn = (IntRegIndex) (uint8_t) bits(machInst, 9, 5);
3152 int64_t imm = sext<4>(bits(machInst, 19, 16));
3153 IntRegIndex pg = (IntRegIndex) (uint8_t) bits(machInst, 12, 10);
3154 uint8_t msz = bits(machInst, 24, 23);
3155 uint8_t num = bits(machInst, 22, 21);
3156
3157 if (num != 0) {
3158 num++;
3159 imm *= num;
3160 return decodeSveStructLoadSIInsts(msz, machInst,
3161 zt, pg, rn, imm, num);
3162 }
3138 return new Unknown64(machInst);
3139 } // decodeSveLoadStructsSI
3140
3141 StaticInstPtr
3142 decodeSveMemContigLoad(ExtMachInst machInst)
3143 {
3144 switch (bits(machInst, 15, 13)) {
3145 case 0x0:

--- 180 unchanged lines hidden (view full) ---

3326 decodeSveContigNTStoreSI(ExtMachInst machInst)
3327 {
3328 return new Unknown64(machInst);
3329 } // decodeSveContigNTStoreSI
3330
3331 StaticInstPtr
3332 decodeSveStoreStructsSS(ExtMachInst machInst)
3333 {
3163 return new Unknown64(machInst);
3164 } // decodeSveLoadStructsSI
3165
3166 StaticInstPtr
3167 decodeSveMemContigLoad(ExtMachInst machInst)
3168 {
3169 switch (bits(machInst, 15, 13)) {
3170 case 0x0:

--- 180 unchanged lines hidden (view full) ---

3351 decodeSveContigNTStoreSI(ExtMachInst machInst)
3352 {
3353 return new Unknown64(machInst);
3354 } // decodeSveContigNTStoreSI
3355
3356 StaticInstPtr
3357 decodeSveStoreStructsSS(ExtMachInst machInst)
3358 {
3359 IntRegIndex zt = (IntRegIndex) (uint8_t) bits(machInst, 4, 0);
3360 IntRegIndex rn = (IntRegIndex) (uint8_t) bits(machInst, 9, 5);
3361 IntRegIndex rm = (IntRegIndex) (uint8_t) bits(machInst, 20, 16);
3362 IntRegIndex pg = (IntRegIndex) (uint8_t) bits(machInst, 12, 10);
3363 uint8_t msz = bits(machInst, 24, 23);
3364 uint8_t num = bits(machInst, 22, 21);
3365
3366 if (rm != 0x1f && num != 0) {
3367 num++;
3368 return decodeSveStructStoreSSInsts(msz, machInst,
3369 zt, pg, rn, rm, num);
3370 }
3334 return new Unknown64(machInst);
3335 } // decodeSveStoreStructsSS
3336
3337 StaticInstPtr
3338 decodeSveStoreStructsSI(ExtMachInst machInst)
3339 {
3371 return new Unknown64(machInst);
3372 } // decodeSveStoreStructsSS
3373
3374 StaticInstPtr
3375 decodeSveStoreStructsSI(ExtMachInst machInst)
3376 {
3377 IntRegIndex zt = (IntRegIndex) (uint8_t) bits(machInst, 4, 0);
3378 IntRegIndex rn = (IntRegIndex) (uint8_t) bits(machInst, 9, 5);
3379 int64_t imm = sext<4>(bits(machInst, 19, 16));
3380 IntRegIndex pg = (IntRegIndex) (uint8_t) bits(machInst, 12, 10);
3381 uint8_t msz = bits(machInst, 24, 23);
3382 uint8_t num = bits(machInst, 22, 21);
3383
3384 if (num != 0) {
3385 num++;
3386 imm *= num;
3387 return decodeSveStructStoreSIInsts(msz, machInst,
3388 zt, pg, rn, imm, num);
3389 }
3340 return new Unknown64(machInst);
3341 } // decodeSveStoreStructsSI
3342
3343 StaticInstPtr
3344 decodeSveMemStore(ExtMachInst machInst)
3345 {
3346 switch (bits(machInst, 15, 13)) {
3347 case 0x0:

--- 159 unchanged lines hidden ---
3390 return new Unknown64(machInst);
3391 } // decodeSveStoreStructsSI
3392
3393 StaticInstPtr
3394 decodeSveMemStore(ExtMachInst machInst)
3395 {
3396 switch (bits(machInst, 15, 13)) {
3397 case 0x0:

--- 159 unchanged lines hidden ---