| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
| 6 // are met: | 6 // are met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2224 | 2224 |
| 2225 void Assembler::vcvt_f32_f64(const SwVfpRegister dst, | 2225 void Assembler::vcvt_f32_f64(const SwVfpRegister dst, |
| 2226 const DwVfpRegister src, | 2226 const DwVfpRegister src, |
| 2227 ConversionMode mode, | 2227 ConversionMode mode, |
| 2228 const Condition cond) { | 2228 const Condition cond) { |
| 2229 ASSERT(Isolate::Current()->cpu_features()->IsEnabled(VFP3)); | 2229 ASSERT(Isolate::Current()->cpu_features()->IsEnabled(VFP3)); |
| 2230 emit(EncodeVCVT(F32, dst.code(), F64, src.code(), mode, cond)); | 2230 emit(EncodeVCVT(F32, dst.code(), F64, src.code(), mode, cond)); |
| 2231 } | 2231 } |
| 2232 | 2232 |
| 2233 | 2233 |
| 2234 void Assembler::vabs(const DwVfpRegister dst, |
| 2235 const DwVfpRegister src, |
| 2236 const Condition cond) { |
| 2237 emit(cond | 0xE*B24 | 0xB*B20 | dst.code()*B12 | |
| 2238 0x5*B9 | B8 | 0x3*B6 | src.code()); |
| 2239 } |
| 2240 |
| 2241 |
| 2234 void Assembler::vadd(const DwVfpRegister dst, | 2242 void Assembler::vadd(const DwVfpRegister dst, |
| 2235 const DwVfpRegister src1, | 2243 const DwVfpRegister src1, |
| 2236 const DwVfpRegister src2, | 2244 const DwVfpRegister src2, |
| 2237 const Condition cond) { | 2245 const Condition cond) { |
| 2238 // Dd = vadd(Dn, Dm) double precision floating point addition. | 2246 // Dd = vadd(Dn, Dm) double precision floating point addition. |
| 2239 // Dd = D:Vd; Dm=M:Vm; Dn=N:Vm. | 2247 // Dd = D:Vd; Dm=M:Vm; Dn=N:Vm. |
| 2240 // Instruction details available in ARM DDI 0406A, A8-536. | 2248 // Instruction details available in ARM DDI 0406A, A8-536. |
| 2241 // cond(31-28) | 11100(27-23)| D=?(22) | 11(21-20) | Vn(19-16) | | 2249 // cond(31-28) | 11100(27-23)| D=?(22) | 11(21-20) | Vn(19-16) | |
| 2242 // Vd(15-12) | 101(11-9) | sz(8)=1 | N(7)=0 | 0(6) | M=?(5) | 0(4) | Vm(3-0) | 2250 // Vd(15-12) | 101(11-9) | sz(8)=1 | N(7)=0 | 0(6) | M=?(5) | 0(4) | Vm(3-0) |
| 2243 ASSERT(Isolate::Current()->cpu_features()->IsEnabled(VFP3)); | 2251 ASSERT(Isolate::Current()->cpu_features()->IsEnabled(VFP3)); |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2610 | 2618 |
| 2611 // Since a constant pool was just emitted, move the check offset forward by | 2619 // Since a constant pool was just emitted, move the check offset forward by |
| 2612 // the standard interval. | 2620 // the standard interval. |
| 2613 next_buffer_check_ = pc_offset() + kCheckConstInterval; | 2621 next_buffer_check_ = pc_offset() + kCheckConstInterval; |
| 2614 } | 2622 } |
| 2615 | 2623 |
| 2616 | 2624 |
| 2617 } } // namespace v8::internal | 2625 } } // namespace v8::internal |
| 2618 | 2626 |
| 2619 #endif // V8_TARGET_ARCH_ARM | 2627 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |