Index: src/arm/assembler-arm.cc |
diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc |
index a8c32d98bcf4a4f6e648da6e09165dadeb89e698..1574d51bb1f7d68a638c878fc8313d82a0edc667 100644 |
--- a/src/arm/assembler-arm.cc |
+++ b/src/arm/assembler-arm.cc |
@@ -48,7 +48,7 @@ namespace internal { |
bool CpuFeatures::initialized_ = false; |
#endif |
unsigned CpuFeatures::supported_ = 0; |
-unsigned CpuFeatures::found_by_runtime_probing_ = 0; |
+unsigned CpuFeatures::found_by_runtime_probing_only_ = 0; |
ExternalReference ExternalReference::cpu_features() { |
@@ -110,7 +110,7 @@ const char* DwVfpRegister::AllocationIndexToString(int index) { |
void CpuFeatures::Probe() { |
- unsigned standard_features = static_cast<unsigned>( |
+ uint64_t standard_features = static_cast<unsigned>( |
OS::CpuFeaturesImpliedByPlatform()) | CpuFeaturesImpliedByCompiler(); |
ASSERT(supported_ == 0 || supported_ == standard_features); |
#ifdef DEBUG |
@@ -131,23 +131,26 @@ void CpuFeatures::Probe() { |
// For the simulator=arm build, use VFP when FLAG_enable_vfp3 is |
// enabled. VFPv3 implies ARMv7, see ARM DDI 0406B, page A1-6. |
if (FLAG_enable_vfp3) { |
- supported_ |= 1u << VFP3 | 1u << ARMv7 | 1u << VFP2; |
+ supported_ |= |
+ static_cast<uint64_t>(1) << VFP3 | |
+ static_cast<uint64_t>(1) << ARMv7 | |
+ static_cast<uint64_t>(1) << VFP2; |
} |
// For the simulator=arm build, use ARMv7 when FLAG_enable_armv7 is enabled |
if (FLAG_enable_armv7) { |
- supported_ |= 1u << ARMv7; |
+ supported_ |= static_cast<uint64_t>(1) << ARMv7; |
} |
if (FLAG_enable_sudiv) { |
- supported_ |= 1u << SUDIV; |
+ supported_ |= static_cast<uint64_t>(1) << SUDIV; |
} |
if (FLAG_enable_movw_movt) { |
- supported_ |= 1u << MOVW_MOVT_IMMEDIATE_LOADS; |
+ supported_ |= static_cast<uint64_t>(1) << MOVW_MOVT_IMMEDIATE_LOADS; |
} |
if (FLAG_enable_32dregs) { |
- supported_ |= 1u << VFP32DREGS; |
+ supported_ |= static_cast<uint64_t>(1) << VFP32DREGS; |
} |
#else // __arm__ |
@@ -156,33 +159,38 @@ void CpuFeatures::Probe() { |
// This implementation also sets the VFP flags if runtime |
// detection of VFP returns true. VFPv3 implies ARMv7 and VFP2, see ARM DDI |
// 0406B, page A1-6. |
- found_by_runtime_probing_ |= 1u << VFP3 | 1u << ARMv7 | 1u << VFP2; |
+ found_by_runtime_probing_only_ |= |
+ static_cast<uint64_t>(1) << VFP3 | |
+ static_cast<uint64_t>(1) << ARMv7 | |
+ static_cast<uint64_t>(1) << VFP2; |
} else if (!IsSupported(VFP2) && OS::ArmCpuHasFeature(VFP2)) { |
- found_by_runtime_probing_ |= 1u << VFP2; |
+ found_by_runtime_probing_only_ |= static_cast<uint64_t>(1) << VFP2; |
} |
if (!IsSupported(ARMv7) && OS::ArmCpuHasFeature(ARMv7)) { |
- found_by_runtime_probing_ |= 1u << ARMv7; |
+ found_by_runtime_probing_only_ |= static_cast<uint64_t>(1) << ARMv7; |
} |
if (!IsSupported(SUDIV) && OS::ArmCpuHasFeature(SUDIV)) { |
- found_by_runtime_probing_ |= 1u << SUDIV; |
+ found_by_runtime_probing_only_ |= static_cast<uint64_t>(1) << SUDIV; |
} |
if (!IsSupported(UNALIGNED_ACCESSES) && OS::ArmCpuHasFeature(ARMv7)) { |
- found_by_runtime_probing_ |= 1u << UNALIGNED_ACCESSES; |
+ found_by_runtime_probing_only_ |= |
+ static_cast<uint64_t>(1) << UNALIGNED_ACCESSES; |
} |
if (OS::GetCpuImplementer() == QUALCOMM_IMPLEMENTER && |
OS::ArmCpuHasFeature(ARMv7)) { |
- found_by_runtime_probing_ |= 1u << MOVW_MOVT_IMMEDIATE_LOADS; |
+ found_by_runtime_probing_only_ |= |
+ static_cast<uint64_t>(1) << MOVW_MOVT_IMMEDIATE_LOADS; |
} |
if (!IsSupported(VFP32DREGS) && OS::ArmCpuHasFeature(VFP32DREGS)) { |
- found_by_runtime_probing_ |= 1u << VFP32DREGS; |
+ found_by_runtime_probing_only_ |= static_cast<uint64_t>(1) << VFP32DREGS; |
} |
- supported_ |= found_by_runtime_probing_; |
+ supported_ |= found_by_runtime_probing_only_; |
#endif |
// Assert that VFP3 implies VFP2 and ARMv7. |
@@ -1541,7 +1549,7 @@ void Assembler::ldrsh(Register dst, const MemOperand& src, Condition cond) { |
void Assembler::ldrd(Register dst1, Register dst2, |
const MemOperand& src, Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(ARMv7)); |
+ ASSERT(IsEnabled(ARMv7)); |
ASSERT(src.rm().is(no_reg)); |
ASSERT(!dst1.is(lr)); // r14. |
ASSERT_EQ(0, dst1.code() % 2); |
@@ -1556,7 +1564,7 @@ void Assembler::strd(Register src1, Register src2, |
ASSERT(!src1.is(lr)); // r14. |
ASSERT_EQ(0, src1.code() % 2); |
ASSERT_EQ(src1.code() + 1, src2.code()); |
- ASSERT(CpuFeatures::IsEnabled(ARMv7)); |
+ ASSERT(IsEnabled(ARMv7)); |
addrmod3(cond | B7 | B6 | B5 | B4, src1, dst); |
} |
@@ -1755,7 +1763,7 @@ void Assembler::vldr(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-924. |
// cond(31-28) | 1101(27-24)| U(23) | D(22) | 01(21-20) | Rbase(19-16) | |
// Vd(15-12) | 1011(11-8) | offset |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int u = 1; |
if (offset < 0) { |
offset = -offset; |
@@ -1799,7 +1807,7 @@ void Assembler::vldr(const SwVfpRegister dst, |
// Instruction details available in ARM DDI 0406A, A8-628. |
// cond(31-28) | 1101(27-24)| U001(23-20) | Rbase(19-16) | |
// Vdst(15-12) | 1010(11-8) | offset |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int u = 1; |
if (offset < 0) { |
offset = -offset; |
@@ -1843,7 +1851,7 @@ void Assembler::vstr(const DwVfpRegister src, |
// Instruction details available in ARM DDI 0406C.b, A8-1082. |
// cond(31-28) | 1101(27-24)| U(23) | D(22) | 00(21-20) | Rbase(19-16) | |
// Vd(15-12) | 1011(11-8) | (offset/4) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int u = 1; |
if (offset < 0) { |
offset = -offset; |
@@ -1887,7 +1895,7 @@ void Assembler::vstr(const SwVfpRegister src, |
// Instruction details available in ARM DDI 0406A, A8-786. |
// cond(31-28) | 1101(27-24)| U000(23-20) | Rbase(19-16) | |
// Vdst(15-12) | 1010(11-8) | (offset/4) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int u = 1; |
if (offset < 0) { |
offset = -offset; |
@@ -1930,7 +1938,7 @@ void Assembler::vldm(BlockAddrMode am, |
// Instruction details available in ARM DDI 0406C.b, A8-922. |
// cond(31-28) | 110(27-25)| PUDW1(24-20) | Rbase(19-16) | |
// first(15-12) | 1011(11-8) | (count * 2) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT_LE(first.code(), last.code()); |
ASSERT(am == ia || am == ia_w || am == db_w); |
ASSERT(!base.is(pc)); |
@@ -1952,7 +1960,7 @@ void Assembler::vstm(BlockAddrMode am, |
// Instruction details available in ARM DDI 0406C.b, A8-1080. |
// cond(31-28) | 110(27-25)| PUDW0(24-20) | Rbase(19-16) | |
// first(15-12) | 1011(11-8) | (count * 2) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT_LE(first.code(), last.code()); |
ASSERT(am == ia || am == ia_w || am == db_w); |
ASSERT(!base.is(pc)); |
@@ -1973,7 +1981,7 @@ void Assembler::vldm(BlockAddrMode am, |
// Instruction details available in ARM DDI 0406A, A8-626. |
// cond(31-28) | 110(27-25)| PUDW1(24-20) | Rbase(19-16) | |
// first(15-12) | 1010(11-8) | (count/2) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT_LE(first.code(), last.code()); |
ASSERT(am == ia || am == ia_w || am == db_w); |
ASSERT(!base.is(pc)); |
@@ -1994,7 +2002,7 @@ void Assembler::vstm(BlockAddrMode am, |
// Instruction details available in ARM DDI 0406A, A8-784. |
// cond(31-28) | 110(27-25)| PUDW0(24-20) | Rbase(19-16) | |
// first(15-12) | 1011(11-8) | (count/2) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT_LE(first.code(), last.code()); |
ASSERT(am == ia || am == ia_w || am == db_w); |
ASSERT(!base.is(pc)); |
@@ -2068,7 +2076,7 @@ static bool FitsVMOVDoubleImmediate(double d, uint32_t *encoding) { |
void Assembler::vmov(const DwVfpRegister dst, |
double imm, |
const Register scratch) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
uint32_t enc; |
if (CpuFeatures::IsSupported(VFP3) && FitsVMOVDoubleImmediate(imm, &enc)) { |
@@ -2140,7 +2148,7 @@ void Assembler::vmov(const SwVfpRegister dst, |
const Condition cond) { |
// Sd = Sm |
// Instruction details available in ARM DDI 0406B, A8-642. |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int sd, d, sm, m; |
dst.split_code(&sd, &d); |
src.split_code(&sm, &m); |
@@ -2155,7 +2163,7 @@ void Assembler::vmov(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-938. |
// cond(31-28) | 11101(27-23) | D(22) | 11(21-20) | 0000(19-16) | Vd(15-12) | |
// 101(11-9) | sz=1(8) | 0(7) | 1(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vm, m; |
@@ -2173,7 +2181,7 @@ void Assembler::vmov(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-940. |
// cond(31-28) | 1110(27-24) | 0(23) | opc1=0index(22-21) | 0(20) | |
// Vd(19-16) | Rt(15-12) | 1011(11-8) | D(7) | opc2=00(6-5) | 1(4) | 0000(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT(index.index == 0 || index.index == 1); |
int vd, d; |
dst.split_code(&vd, &d); |
@@ -2190,7 +2198,7 @@ void Assembler::vmov(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-948. |
// cond(31-28) | 1100(27-24)| 010(23-21) | op=0(20) | Rt2(19-16) | |
// Rt(15-12) | 1011(11-8) | 00(7-6) | M(5) | 1(4) | Vm |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT(!src1.is(pc) && !src2.is(pc)); |
int vm, m; |
dst.split_code(&vm, &m); |
@@ -2207,7 +2215,7 @@ void Assembler::vmov(const Register dst1, |
// Instruction details available in ARM DDI 0406C.b, A8-948. |
// cond(31-28) | 1100(27-24)| 010(23-21) | op=1(20) | Rt2(19-16) | |
// Rt(15-12) | 1011(11-8) | 00(7-6) | M(5) | 1(4) | Vm |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT(!dst1.is(pc) && !dst2.is(pc)); |
int vm, m; |
src.split_code(&vm, &m); |
@@ -2223,7 +2231,7 @@ void Assembler::vmov(const SwVfpRegister dst, |
// Instruction details available in ARM DDI 0406A, A8-642. |
// cond(31-28) | 1110(27-24)| 000(23-21) | op=0(20) | Vn(19-16) | |
// Rt(15-12) | 1010(11-8) | N(7)=0 | 00(6-5) | 1(4) | 0000(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT(!src.is(pc)); |
int sn, n; |
dst.split_code(&sn, &n); |
@@ -2238,7 +2246,7 @@ void Assembler::vmov(const Register dst, |
// Instruction details available in ARM DDI 0406A, A8-642. |
// cond(31-28) | 1110(27-24)| 000(23-21) | op=1(20) | Vn(19-16) | |
// Rt(15-12) | 1010(11-8) | N(7)=0 | 00(6-5) | 1(4) | 0000(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT(!dst.is(pc)); |
int sn, n; |
src.split_code(&sn, &n); |
@@ -2363,7 +2371,7 @@ void Assembler::vcvt_f64_s32(const DwVfpRegister dst, |
const SwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(F64, dst.code(), S32, src.code(), mode, cond)); |
} |
@@ -2372,7 +2380,7 @@ void Assembler::vcvt_f32_s32(const SwVfpRegister dst, |
const SwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(F32, dst.code(), S32, src.code(), mode, cond)); |
} |
@@ -2381,7 +2389,7 @@ void Assembler::vcvt_f64_u32(const DwVfpRegister dst, |
const SwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(F64, dst.code(), U32, src.code(), mode, cond)); |
} |
@@ -2390,7 +2398,7 @@ void Assembler::vcvt_s32_f64(const SwVfpRegister dst, |
const DwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(S32, dst.code(), F64, src.code(), mode, cond)); |
} |
@@ -2399,7 +2407,7 @@ void Assembler::vcvt_u32_f64(const SwVfpRegister dst, |
const DwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(U32, dst.code(), F64, src.code(), mode, cond)); |
} |
@@ -2408,7 +2416,7 @@ void Assembler::vcvt_f64_f32(const DwVfpRegister dst, |
const SwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(F64, dst.code(), F32, src.code(), mode, cond)); |
} |
@@ -2417,7 +2425,7 @@ void Assembler::vcvt_f32_f64(const SwVfpRegister dst, |
const DwVfpRegister src, |
VFPConversionMode mode, |
const Condition cond) { |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(EncodeVCVT(F32, dst.code(), F64, src.code(), mode, cond)); |
} |
@@ -2428,7 +2436,7 @@ void Assembler::vneg(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-968. |
// cond(31-28) | 11101(27-23) | D(22) | 11(21-20) | 0001(19-16) | Vd(15-12) | |
// 101(11-9) | sz=1(8) | 0(7) | 1(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vm, m; |
@@ -2445,7 +2453,7 @@ void Assembler::vabs(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-524. |
// cond(31-28) | 11101(27-23) | D(22) | 11(21-20) | 0000(19-16) | Vd(15-12) | |
// 101(11-9) | sz=1(8) | 1(7) | 1(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vm, m; |
@@ -2464,7 +2472,7 @@ void Assembler::vadd(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-830. |
// cond(31-28) | 11100(27-23)| D(22) | 11(21-20) | Vn(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | N(7) | 0(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vn, n; |
@@ -2485,7 +2493,7 @@ void Assembler::vsub(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-1086. |
// cond(31-28) | 11100(27-23)| D(22) | 11(21-20) | Vn(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | N(7) | 1(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vn, n; |
@@ -2506,7 +2514,7 @@ void Assembler::vmul(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-960. |
// cond(31-28) | 11100(27-23)| D(22) | 10(21-20) | Vn(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | N(7) | 0(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vn, n; |
@@ -2563,7 +2571,7 @@ void Assembler::vdiv(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-882. |
// cond(31-28) | 11101(27-23)| D(22) | 00(21-20) | Vn(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | N(7) | 0(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vn, n; |
@@ -2582,7 +2590,7 @@ void Assembler::vcmp(const DwVfpRegister src1, |
// Instruction details available in ARM DDI 0406C.b, A8-864. |
// cond(31-28) | 11101(27-23)| D(22) | 11(21-20) | 0100(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | E=0(7) | 1(6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
src1.split_code(&vd, &d); |
int vm, m; |
@@ -2599,7 +2607,7 @@ void Assembler::vcmp(const DwVfpRegister src1, |
// Instruction details available in ARM DDI 0406C.b, A8-864. |
// cond(31-28) | 11101(27-23)| D(22) | 11(21-20) | 0101(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | E=0(7) | 1(6) | 0(5) | 0(4) | 0000(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
ASSERT(src2 == 0.0); |
int vd, d; |
src1.split_code(&vd, &d); |
@@ -2611,7 +2619,7 @@ void Assembler::vmsr(Register dst, Condition cond) { |
// Instruction details available in ARM DDI 0406A, A8-652. |
// cond(31-28) | 1110 (27-24) | 1110(23-20)| 0001 (19-16) | |
// Rt(15-12) | 1010 (11-8) | 0(7) | 00 (6-5) | 1(4) | 0000(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(cond | 0xE*B24 | 0xE*B20 | B16 | |
dst.code()*B12 | 0xA*B8 | B4); |
} |
@@ -2621,7 +2629,7 @@ void Assembler::vmrs(Register dst, Condition cond) { |
// Instruction details available in ARM DDI 0406A, A8-652. |
// cond(31-28) | 1110 (27-24) | 1111(23-20)| 0001 (19-16) | |
// Rt(15-12) | 1010 (11-8) | 0(7) | 00 (6-5) | 1(4) | 0000(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
emit(cond | 0xE*B24 | 0xF*B20 | B16 | |
dst.code()*B12 | 0xA*B8 | B4); |
} |
@@ -2633,7 +2641,7 @@ void Assembler::vsqrt(const DwVfpRegister dst, |
// Instruction details available in ARM DDI 0406C.b, A8-1058. |
// cond(31-28) | 11101(27-23)| D(22) | 11(21-20) | 0001(19-16) | |
// Vd(15-12) | 101(11-9) | sz=1(8) | 11(7-6) | M(5) | 0(4) | Vm(3-0) |
- ASSERT(CpuFeatures::IsEnabled(VFP2)); |
+ ASSERT(IsEnabled(VFP2)); |
int vd, d; |
dst.split_code(&vd, &d); |
int vm, m; |