data.isa (7248:f5563135de40) | data.isa (7250:40b0a5327df8) |
---|---|
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 --- 269 unchanged lines hidden (view full) --- 278 if (a == 0xf) { 279 return new Uxtb(machInst, rd, rotation, rm); 280 } else { 281 return new Uxtab(machInst, rd, rn, rm, rotation); 282 } 283 } 284 break; 285 case 0x7: | 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 --- 269 unchanged lines hidden (view full) --- 278 if (a == 0xf) { 279 return new Uxtb(machInst, rd, rotation, rm); 280 } else { 281 return new Uxtab(machInst, rd, rn, rm, rotation); 282 } 283 } 284 break; 285 case 0x7: |
286 if (op2 == 0x1) { 287 return new WarnUnimplemented("rbit", machInst); 288 } else if (op2 == 0x3) { | 286 { |
289 const IntRegIndex rn = 290 (IntRegIndex)(uint32_t)bits(machInst, 19, 16); 291 const IntRegIndex rd = 292 (IntRegIndex)(uint32_t)bits(machInst, 15, 12); 293 const IntRegIndex rm = 294 (IntRegIndex)(uint32_t)bits(machInst, 3, 0); | 287 const IntRegIndex rn = 288 (IntRegIndex)(uint32_t)bits(machInst, 19, 16); 289 const IntRegIndex rd = 290 (IntRegIndex)(uint32_t)bits(machInst, 15, 12); 291 const IntRegIndex rm = 292 (IntRegIndex)(uint32_t)bits(machInst, 3, 0); |
295 const uint32_t rotation = 296 (uint32_t)bits(machInst, 11, 10) << 3; 297 if (a == 0xf) { 298 return new Uxth(machInst, rd, rotation, rm); 299 } else { 300 return new Uxtah(machInst, rd, rn, rm, rotation); | 293 if (op2 == 0x1) { 294 return new Rbit(machInst, rd, rm); 295 } else if (op2 == 0x3) { 296 const uint32_t rotation = 297 (uint32_t)bits(machInst, 11, 10) << 3; 298 if (a == 0xf) { 299 return new Uxth(machInst, rd, rotation, rm); 300 } else { 301 return new Uxtah(machInst, rd, rn, rm, rotation); 302 } 303 } else if (op2 == 0x5) { 304 return new Revsh(machInst, rd, rm); |
301 } | 305 } |
302 } else if (op2 == 0x5) { 303 IntRegIndex rd = (IntRegIndex)(uint32_t)bits(machInst, 15, 12); 304 IntRegIndex rm = (IntRegIndex)(uint32_t)bits(machInst, 3, 0); 305 return new Revsh(machInst, rd, rm); | |
306 } 307 break; 308 } 309 return new Unknown(machInst); 310 } 311 ''' 312}}; 313 --- 472 unchanged lines hidden (view full) --- 786 break; 787 case 0x1: 788 switch (op2) { 789 case 0x0: 790 return new Rev(machInst, rd, rn); 791 case 0x1: 792 return new Rev16(machInst, rd, rn); 793 case 0x2: | 306 } 307 break; 308 } 309 return new Unknown(machInst); 310 } 311 ''' 312}}; 313 --- 472 unchanged lines hidden (view full) --- 786 break; 787 case 0x1: 788 switch (op2) { 789 case 0x0: 790 return new Rev(machInst, rd, rn); 791 case 0x1: 792 return new Rev16(machInst, rd, rn); 793 case 0x2: |
794 return new WarnUnimplemented("rbit", machInst); | 794 return new Rbit(machInst, rd, rm); |
795 case 0x3: 796 return new Revsh(machInst, rd, rn); 797 } 798 break; 799 case 0x2: 800 if (op2 == 0) { 801 return new Sel(machInst, rd, rn, rm); 802 } --- 547 unchanged lines hidden --- | 795 case 0x3: 796 return new Revsh(machInst, rd, rn); 797 } 798 break; 799 case 0x2: 800 if (op2 == 0) { 801 return new Sel(machInst, rd, rn, rm); 802 } --- 547 unchanged lines hidden --- |