aarch64.isa (12856:cca88f84cb80) | aarch64.isa (13120:690a0db8e58b) |
---|---|
1// Copyright (c) 2011-2018 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 --- 1623 unchanged lines hidden (view full) --- 1632 bits(machInst, 29) || 1633 bits(machInst, 9, 5)) { 1634 return new Unknown64(machInst); 1635 } 1636 // 31:29=000, 28:24=11110, 21=1, 12:10=100 1637 if (type == 0) { 1638 // FMOV S[d] = imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,5) 1639 // :imm8<5:0>:Zeros(19) | 1// Copyright (c) 2011-2018 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 --- 1623 unchanged lines hidden (view full) --- 1632 bits(machInst, 29) || 1633 bits(machInst, 9, 5)) { 1634 return new Unknown64(machInst); 1635 } 1636 // 31:29=000, 28:24=11110, 21=1, 12:10=100 1637 if (type == 0) { 1638 // FMOV S[d] = imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,5) 1639 // :imm8<5:0>:Zeros(19) |
1640 uint32_t imm = vfp_modified_imm(imm8, false); | 1640 uint32_t imm = vfp_modified_imm(imm8, 1641 FpDataType::Fp32); |
1641 return new FmovImmS(machInst, rd, imm); 1642 } else if (type == 1) { 1643 // FMOV D[d] = imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,8) 1644 // :imm8<5:0>:Zeros(48) | 1642 return new FmovImmS(machInst, rd, imm); 1643 } else if (type == 1) { 1644 // FMOV D[d] = imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,8) 1645 // :imm8<5:0>:Zeros(48) |
1645 uint64_t imm = vfp_modified_imm(imm8, true); | 1646 uint64_t imm = vfp_modified_imm(imm8, 1647 FpDataType::Fp64); |
1646 return new FmovImmD(machInst, rd, imm); 1647 } else { 1648 return new Unknown64(machInst); 1649 } 1650 } else if (bits(machInst, 13) == 1) { 1651 if (bits(machInst, 31) || 1652 bits(machInst, 29) || 1653 bits(machInst, 15, 14) || --- 584 unchanged lines hidden --- | 1648 return new FmovImmD(machInst, rd, imm); 1649 } else { 1650 return new Unknown64(machInst); 1651 } 1652 } else if (bits(machInst, 13) == 1) { 1653 if (bits(machInst, 31) || 1654 bits(machInst, 29) || 1655 bits(machInst, 15, 14) || --- 584 unchanged lines hidden --- |