data.isa (7218:36503d623788) data.isa (7220:31a36c59a937)
1// Copyright (c) 2010 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

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

296 return new WarnUnimplemented("uadd8", machInst);
297 case 0x7:
298 return new WarnUnimplemented("usub8", machInst);
299 }
300 break;
301 case 0x2:
302 switch (op2) {
303 case 0x0:
1// Copyright (c) 2010 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

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

296 return new WarnUnimplemented("uadd8", machInst);
297 case 0x7:
298 return new WarnUnimplemented("usub8", machInst);
299 }
300 break;
301 case 0x2:
302 switch (op2) {
303 case 0x0:
304 return new WarnUnimplemented("uqadd16", machInst);
304 return new Uqadd16Reg(machInst, rd, rn, rm, 0, LSL);
305 case 0x1:
305 case 0x1:
306 return new WarnUnimplemented("uqasx", machInst);
306 return new UqasxReg(machInst, rd, rn, rm, 0, LSL);
307 case 0x2:
307 case 0x2:
308 return new WarnUnimplemented("uqsax", machInst);
308 return new UqsaxReg(machInst, rd, rn, rm, 0, LSL);
309 case 0x3:
309 case 0x3:
310 return new WarnUnimplemented("uqsub16", machInst);
310 return new Uqsub16Reg(machInst, rd, rn, rm, 0, LSL);
311 case 0x4:
311 case 0x4:
312 return new WarnUnimplemented("uqadd8", machInst);
312 return new Uqadd8Reg(machInst, rd, rn, rm, 0, LSL);
313 case 0x7:
313 case 0x7:
314 return new WarnUnimplemented("uqsub8", machInst);
314 return new Uqsub8Reg(machInst, rd, rn, rm, 0, LSL);
315 }
316 break;
317 case 0x3:
318 switch (op2) {
319 case 0x0:
320 return new WarnUnimplemented("uhadd16", machInst);
321 case 0x1:
322 return new WarnUnimplemented("uhasx", machInst);

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

534 } else {
535 return new WarnUnimplemented("uxtab", machInst);
536 }
537 default:
538 return new Unknown(machInst);
539 }
540 } else {
541 if (bits(op2, 3) == 0) {
315 }
316 break;
317 case 0x3:
318 switch (op2) {
319 case 0x0:
320 return new WarnUnimplemented("uhadd16", machInst);
321 case 0x1:
322 return new WarnUnimplemented("uhasx", machInst);

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

534 } else {
535 return new WarnUnimplemented("uxtab", machInst);
536 }
537 default:
538 return new Unknown(machInst);
539 }
540 } else {
541 if (bits(op2, 3) == 0) {
542 const IntRegIndex rd =
543 (IntRegIndex)(uint32_t)bits(machInst, 11, 8);
544 const IntRegIndex rm =
545 (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
542 if (bits(op2, 2) == 0x0) {
543 const uint32_t op1 = bits(machInst, 22, 20);
544 const uint32_t op2 = bits(machInst, 5, 4);
546 if (bits(op2, 2) == 0x0) {
547 const uint32_t op1 = bits(machInst, 22, 20);
548 const uint32_t op2 = bits(machInst, 5, 4);
545 const IntRegIndex rd =
546 (IntRegIndex)(uint32_t)bits(machInst, 11, 8);
547 const IntRegIndex rm =
548 (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
549 switch (op2) {
550 case 0x0:
551 switch (op1) {
552 case 0x1:
553 return new Sadd16RegCc(machInst, rd,
554 rn, rm, 0, LSL);
555 case 0x2:
556 return new WarnUnimplemented("sasx", machInst);

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

618 return new WarnUnimplemented("uadd8", machInst);
619 case 0x4:
620 return new WarnUnimplemented("usub8", machInst);
621 }
622 break;
623 case 0x1:
624 switch (op1) {
625 case 0x1:
549 switch (op2) {
550 case 0x0:
551 switch (op1) {
552 case 0x1:
553 return new Sadd16RegCc(machInst, rd,
554 rn, rm, 0, LSL);
555 case 0x2:
556 return new WarnUnimplemented("sasx", machInst);

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

618 return new WarnUnimplemented("uadd8", machInst);
619 case 0x4:
620 return new WarnUnimplemented("usub8", machInst);
621 }
622 break;
623 case 0x1:
624 switch (op1) {
625 case 0x1:
626 return new WarnUnimplemented("uqadd16", machInst);
626 return new Uqadd16Reg(machInst, rd, rn, rm, 0, LSL);
627 case 0x2:
627 case 0x2:
628 return new WarnUnimplemented("uqasx", machInst);
628 return new UqasxReg(machInst, rd, rn, rm, 0, LSL);
629 case 0x6:
629 case 0x6:
630 return new WarnUnimplemented("uqsax", machInst);
630 return new UqsaxReg(machInst, rd, rn, rm, 0, LSL);
631 case 0x5:
631 case 0x5:
632 return new WarnUnimplemented("uqsub16", machInst);
632 return new Uqsub16Reg(machInst, rd, rn, rm, 0, LSL);
633 case 0x0:
633 case 0x0:
634 return new WarnUnimplemented("uqadd8", machInst);
634 return new Uqadd8Reg(machInst, rd, rn, rm, 0, LSL);
635 case 0x4:
635 case 0x4:
636 return new WarnUnimplemented("uqsub8", machInst);
636 return new Uqsub8Reg(machInst, rd, rn, rm, 0, LSL);
637 }
638 break;
639 case 0x2:
640 switch (op1) {
641 case 0x1:
642 return new WarnUnimplemented("uhadd16", machInst);
643 case 0x2:
644 return new WarnUnimplemented("uhasx", machInst);

--- 580 unchanged lines hidden ---
637 }
638 break;
639 case 0x2:
640 switch (op1) {
641 case 0x1:
642 return new WarnUnimplemented("uhadd16", machInst);
643 case 0x2:
644 return new WarnUnimplemented("uhasx", machInst);

--- 580 unchanged lines hidden ---