data.isa (7227:6f435f54b1fb) | data.isa (7231:a9fa4128c5c9) |
---|---|
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 --- 270 unchanged lines hidden (view full) --- 279 return new Qadd8Reg(machInst, rd, rn, rm, 0, LSL); 280 case 0x7: 281 return new Qsub8Reg(machInst, rd, rn, rm, 0, LSL); 282 } 283 break; 284 case 0x3: 285 switch (op2) { 286 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 --- 270 unchanged lines hidden (view full) --- 279 return new Qadd8Reg(machInst, rd, rn, rm, 0, LSL); 280 case 0x7: 281 return new Qsub8Reg(machInst, rd, rn, rm, 0, LSL); 282 } 283 break; 284 case 0x3: 285 switch (op2) { 286 case 0x0: |
287 return new WarnUnimplemented("shadd16", machInst); | 287 return new Shadd16Reg(machInst, rd, rn, rm, 0, LSL); |
288 case 0x1: | 288 case 0x1: |
289 return new WarnUnimplemented("shasx", machInst); | 289 return new ShasxReg(machInst, rd, rn, rm, 0, LSL); |
290 case 0x2: | 290 case 0x2: |
291 return new WarnUnimplemented("shsax", machInst); | 291 return new ShsaxReg(machInst, rd, rn, rm, 0, LSL); |
292 case 0x3: | 292 case 0x3: |
293 return new WarnUnimplemented("shsub16", machInst); | 293 return new Shsub16Reg(machInst, rd, rn, rm, 0, LSL); |
294 case 0x4: | 294 case 0x4: |
295 return new WarnUnimplemented("shadd8", machInst); | 295 return new Shadd8Reg(machInst, rd, rn, rm, 0, LSL); |
296 case 0x7: | 296 case 0x7: |
297 return new WarnUnimplemented("shsub8", machInst); | 297 return new Shsub8Reg(machInst, rd, rn, rm, 0, LSL); |
298 } 299 break; 300 } 301 } else { 302 switch (op1) { 303 case 0x1: 304 switch (op2) { 305 case 0x0: --- 24 unchanged lines hidden (view full) --- 330 return new Uqadd8Reg(machInst, rd, rn, rm, 0, LSL); 331 case 0x7: 332 return new Uqsub8Reg(machInst, rd, rn, rm, 0, LSL); 333 } 334 break; 335 case 0x3: 336 switch (op2) { 337 case 0x0: | 298 } 299 break; 300 } 301 } else { 302 switch (op1) { 303 case 0x1: 304 switch (op2) { 305 case 0x0: --- 24 unchanged lines hidden (view full) --- 330 return new Uqadd8Reg(machInst, rd, rn, rm, 0, LSL); 331 case 0x7: 332 return new Uqsub8Reg(machInst, rd, rn, rm, 0, LSL); 333 } 334 break; 335 case 0x3: 336 switch (op2) { 337 case 0x0: |
338 return new WarnUnimplemented("uhadd16", machInst); | 338 return new Uhadd16Reg(machInst, rd, rn, rm, 0, LSL); |
339 case 0x1: | 339 case 0x1: |
340 return new WarnUnimplemented("uhasx", machInst); | 340 return new UhasxReg(machInst, rd, rn, rm, 0, LSL); |
341 case 0x2: | 341 case 0x2: |
342 return new WarnUnimplemented("uhsax", machInst); | 342 return new UhsaxReg(machInst, rd, rn, rm, 0, LSL); |
343 case 0x3: | 343 case 0x3: |
344 return new WarnUnimplemented("uhsub16", machInst); | 344 return new Uhsub16Reg(machInst, rd, rn, rm, 0, LSL); |
345 case 0x4: | 345 case 0x4: |
346 return new WarnUnimplemented("uhadd8", machInst); | 346 return new Uhadd8Reg(machInst, rd, rn, rm, 0, LSL); |
347 case 0x7: | 347 case 0x7: |
348 return new WarnUnimplemented("uhsub8", machInst); | 348 return new Uhsub8Reg(machInst, rd, rn, rm, 0, LSL); |
349 } 350 break; 351 } 352 } 353 return new Unknown(machInst); 354 } 355 ''' 356}}; --- 244 unchanged lines hidden (view full) --- 601 return new Qadd8Reg(machInst, rd, rn, rm, 0, LSL); 602 case 0x4: 603 return new Qsub8Reg(machInst, rd, rn, rm, 0, LSL); 604 } 605 break; 606 case 0x2: 607 switch (op1) { 608 case 0x1: | 349 } 350 break; 351 } 352 } 353 return new Unknown(machInst); 354 } 355 ''' 356}}; --- 244 unchanged lines hidden (view full) --- 601 return new Qadd8Reg(machInst, rd, rn, rm, 0, LSL); 602 case 0x4: 603 return new Qsub8Reg(machInst, rd, rn, rm, 0, LSL); 604 } 605 break; 606 case 0x2: 607 switch (op1) { 608 case 0x1: |
609 return new WarnUnimplemented("shadd16", machInst); | 609 return new Shadd16Reg(machInst, rd, rn, rm, 0, LSL); |
610 case 0x2: | 610 case 0x2: |
611 return new WarnUnimplemented("shasx", machInst); | 611 return new ShasxReg(machInst, rd, rn, rm, 0, LSL); |
612 case 0x6: | 612 case 0x6: |
613 return new WarnUnimplemented("shsax", machInst); | 613 return new ShsaxReg(machInst, rd, rn, rm, 0, LSL); |
614 case 0x5: | 614 case 0x5: |
615 return new WarnUnimplemented("shsub16", machInst); | 615 return new Shsub16Reg(machInst, rd, rn, rm, 0, LSL); |
616 case 0x0: | 616 case 0x0: |
617 return new WarnUnimplemented("shadd8", machInst); | 617 return new Shadd8Reg(machInst, rd, rn, rm, 0, LSL); |
618 case 0x4: | 618 case 0x4: |
619 return new WarnUnimplemented("shsub8", machInst); | 619 return new Shsub8Reg(machInst, rd, rn, rm, 0, LSL); |
620 } 621 break; 622 } 623 } else { 624 const uint32_t op1 = bits(machInst, 22, 20); 625 const uint32_t op2 = bits(machInst, 5, 4); 626 switch (op2) { 627 case 0x0: --- 32 unchanged lines hidden (view full) --- 660 return new Uqadd8Reg(machInst, rd, rn, rm, 0, LSL); 661 case 0x4: 662 return new Uqsub8Reg(machInst, rd, rn, rm, 0, LSL); 663 } 664 break; 665 case 0x2: 666 switch (op1) { 667 case 0x1: | 620 } 621 break; 622 } 623 } else { 624 const uint32_t op1 = bits(machInst, 22, 20); 625 const uint32_t op2 = bits(machInst, 5, 4); 626 switch (op2) { 627 case 0x0: --- 32 unchanged lines hidden (view full) --- 660 return new Uqadd8Reg(machInst, rd, rn, rm, 0, LSL); 661 case 0x4: 662 return new Uqsub8Reg(machInst, rd, rn, rm, 0, LSL); 663 } 664 break; 665 case 0x2: 666 switch (op1) { 667 case 0x1: |
668 return new WarnUnimplemented("uhadd16", machInst); | 668 return new Uhadd16Reg(machInst, rd, rn, rm, 0, LSL); |
669 case 0x2: | 669 case 0x2: |
670 return new WarnUnimplemented("uhasx", machInst); | 670 return new UhasxReg(machInst, rd, rn, rm, 0, LSL); |
671 case 0x6: | 671 case 0x6: |
672 return new WarnUnimplemented("uhsax", machInst); | 672 return new UhsaxReg(machInst, rd, rn, rm, 0, LSL); |
673 case 0x5: | 673 case 0x5: |
674 return new WarnUnimplemented("uhsub16", machInst); | 674 return new Uhsub16Reg(machInst, rd, rn, rm, 0, LSL); |
675 case 0x0: | 675 case 0x0: |
676 return new WarnUnimplemented("uhadd8", machInst); | 676 return new Uhadd8Reg(machInst, rd, rn, rm, 0, LSL); |
677 case 0x4: | 677 case 0x4: |
678 return new WarnUnimplemented("uhsub8", machInst); | 678 return new Uhsub8Reg(machInst, rd, rn, rm, 0, LSL); |
679 } 680 break; 681 } 682 } 683 } else if (bits(op1, 3, 2) == 0x2 && bits(op2, 3, 2) == 0x2) { 684 const uint32_t op1 = bits(machInst, 21, 20); 685 const uint32_t op2 = bits(machInst, 5, 4); 686 switch (op1) { --- 580 unchanged lines hidden --- | 679 } 680 break; 681 } 682 } 683 } else if (bits(op1, 3, 2) == 0x2 && bits(op2, 3, 2) == 0x2) { 684 const uint32_t op1 = bits(machInst, 21, 20); 685 const uint32_t op2 = bits(machInst, 5, 4); 686 switch (op1) { --- 580 unchanged lines hidden --- |