OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
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/node-properties-inl.h" | 10 #include "src/compiler/node-properties-inl.h" |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 // TODO(turbofan): IA32 SSE subsd() should take an operand. | 306 // TODO(turbofan): IA32 SSE subsd() should take an operand. |
307 __ addsd(scratch, i.InputDoubleRegister(0)); | 307 __ addsd(scratch, i.InputDoubleRegister(0)); |
308 __ cvttsd2si(i.OutputRegister(), scratch); | 308 __ cvttsd2si(i.OutputRegister(), scratch); |
309 __ add(i.OutputRegister(), Immediate(0x80000000)); | 309 __ add(i.OutputRegister(), Immediate(0x80000000)); |
310 break; | 310 break; |
311 } | 311 } |
312 case kSSEInt32ToFloat64: | 312 case kSSEInt32ToFloat64: |
313 __ cvtsi2sd(i.OutputDoubleRegister(), i.InputOperand(0)); | 313 __ cvtsi2sd(i.OutputDoubleRegister(), i.InputOperand(0)); |
314 break; | 314 break; |
315 case kSSEUint32ToFloat64: | 315 case kSSEUint32ToFloat64: |
316 // TODO(turbofan): IA32 SSE LoadUint32() should take an operand. | 316 __ LoadUint32(i.OutputDoubleRegister(), i.InputOperand(0)); |
317 __ LoadUint32(i.OutputDoubleRegister(), i.InputRegister(0)); | |
318 break; | 317 break; |
319 case kIA32Movsxbl: | 318 case kIA32Movsxbl: |
320 __ movsx_b(i.OutputRegister(), i.MemoryOperand()); | 319 __ movsx_b(i.OutputRegister(), i.MemoryOperand()); |
321 break; | 320 break; |
322 case kIA32Movzxbl: | 321 case kIA32Movzxbl: |
323 __ movzx_b(i.OutputRegister(), i.MemoryOperand()); | 322 __ movzx_b(i.OutputRegister(), i.MemoryOperand()); |
324 break; | 323 break; |
325 case kIA32Movb: { | 324 case kIA32Movb: { |
326 int index = 0; | 325 int index = 0; |
327 Operand operand = i.MemoryOperand(&index); | 326 Operand operand = i.MemoryOperand(&index); |
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
945 } | 944 } |
946 | 945 |
947 | 946 |
948 void CodeGenerator::AddNopForSmiCodeInlining() { __ nop(); } | 947 void CodeGenerator::AddNopForSmiCodeInlining() { __ nop(); } |
949 | 948 |
950 #undef __ | 949 #undef __ |
951 | 950 |
952 } // namespace compiler | 951 } // namespace compiler |
953 } // namespace internal | 952 } // namespace internal |
954 } // namespace v8 | 953 } // namespace v8 |
OLD | NEW |