| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
| 6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
| 7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
| 10 #include "src/compiler/osr.h" | 10 #include "src/compiler/osr.h" |
| (...skipping 1875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1886 FPURegister dst = g.ToDoubleRegister(destination); | 1886 FPURegister dst = g.ToDoubleRegister(destination); |
| 1887 __ Move(dst, src); | 1887 __ Move(dst, src); |
| 1888 } else { | 1888 } else { |
| 1889 DCHECK(destination->IsFPStackSlot()); | 1889 DCHECK(destination->IsFPStackSlot()); |
| 1890 __ sdc1(src, g.ToMemOperand(destination)); | 1890 __ sdc1(src, g.ToMemOperand(destination)); |
| 1891 } | 1891 } |
| 1892 } else if (source->IsFPStackSlot()) { | 1892 } else if (source->IsFPStackSlot()) { |
| 1893 DCHECK(destination->IsFPRegister() || destination->IsFPStackSlot()); | 1893 DCHECK(destination->IsFPRegister() || destination->IsFPStackSlot()); |
| 1894 MemOperand src = g.ToMemOperand(source); | 1894 MemOperand src = g.ToMemOperand(source); |
| 1895 if (destination->IsFPRegister()) { | 1895 if (destination->IsFPRegister()) { |
| 1896 __ ldc1(g.ToDoubleRegister(destination), src); | 1896 LocationOperand* op = LocationOperand::cast(source); |
| 1897 if (op->representation() == MachineRepresentation::kFloat64) { |
| 1898 __ ldc1(g.ToDoubleRegister(destination), src); |
| 1899 } else { |
| 1900 DCHECK_EQ(MachineRepresentation::kFloat32, op->representation()); |
| 1901 __ lwc1(g.ToDoubleRegister(destination), src); |
| 1902 } |
| 1897 } else { | 1903 } else { |
| 1898 FPURegister temp = kScratchDoubleReg; | 1904 FPURegister temp = kScratchDoubleReg; |
| 1899 __ ldc1(temp, src); | 1905 __ ldc1(temp, src); |
| 1900 __ sdc1(temp, g.ToMemOperand(destination)); | 1906 __ sdc1(temp, g.ToMemOperand(destination)); |
| 1901 } | 1907 } |
| 1902 } else { | 1908 } else { |
| 1903 UNREACHABLE(); | 1909 UNREACHABLE(); |
| 1904 } | 1910 } |
| 1905 } | 1911 } |
| 1906 | 1912 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1998 padding_size -= v8::internal::Assembler::kInstrSize; | 2004 padding_size -= v8::internal::Assembler::kInstrSize; |
| 1999 } | 2005 } |
| 2000 } | 2006 } |
| 2001 } | 2007 } |
| 2002 | 2008 |
| 2003 #undef __ | 2009 #undef __ |
| 2004 | 2010 |
| 2005 } // namespace compiler | 2011 } // namespace compiler |
| 2006 } // namespace internal | 2012 } // namespace internal |
| 2007 } // namespace v8 | 2013 } // namespace v8 |
| OLD | NEW |