| Index: src/arm/assembler-arm.cc
|
| ===================================================================
|
| --- src/arm/assembler-arm.cc (revision 3686)
|
| +++ src/arm/assembler-arm.cc (working copy)
|
| @@ -30,9 +30,9 @@
|
| // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
| // OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| -// The original source code covered by the above license above has been modified
|
| -// significantly by Google Inc.
|
| -// Copyright 2006-2008 the V8 project authors. All rights reserved.
|
| +// The original source code covered by the above license above has been
|
| +// modified significantly by Google Inc.
|
| +// Copyright 2010 the V8 project authors. All rights reserved.
|
|
|
| #include "v8.h"
|
|
|
| @@ -1371,6 +1371,36 @@
|
|
|
|
|
| // Support for VFP.
|
| +void Assembler::vldr(const DwVfpRegister dst,
|
| + const Register base,
|
| + int offset,
|
| + const Condition cond) {
|
| + // Ddst = MEM(Rbase + offset).
|
| + // Instruction details available in ARM DDI 0406A, A8-628.
|
| + // cond(31-28) | 1101(27-24)| 1001(23-20) | Rbase(19-16) |
|
| + // Vdst(15-12) | 1011(11-8) | offset
|
| + ASSERT(CpuFeatures::IsEnabled(VFP3));
|
| + ASSERT(offset % 4 == 0);
|
| + emit(cond | 0xD9*B20 | base.code()*B16 | dst.code()*B12 |
|
| + 0xB*B8 | ((offset / 4) & 255));
|
| +}
|
| +
|
| +
|
| +void Assembler::vstr(const DwVfpRegister src,
|
| + const Register base,
|
| + int offset,
|
| + const Condition cond) {
|
| + // MEM(Rbase + offset) = Dsrc.
|
| + // Instruction details available in ARM DDI 0406A, A8-786.
|
| + // cond(31-28) | 1101(27-24)| 1000(23-20) | | Rbase(19-16) |
|
| + // Vsrc(15-12) | 1011(11-8) | (offset/4)
|
| + ASSERT(CpuFeatures::IsEnabled(VFP3));
|
| + ASSERT(offset % 4 == 0);
|
| + emit(cond | 0xD8*B20 | base.code()*B16 | src.code()*B12 |
|
| + 0xB*B8 | ((offset / 4) & 255));
|
| +}
|
| +
|
| +
|
| void Assembler::vmov(const DwVfpRegister dst,
|
| const Register src1,
|
| const Register src2,
|
|
|