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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/arm64/frames-arm64.h" | 7 #include "src/arm64/frames-arm64.h" |
8 #include "src/arm64/macro-assembler-arm64.h" | 8 #include "src/arm64/macro-assembler-arm64.h" |
9 #include "src/compiler/code-generator-impl.h" | 9 #include "src/compiler/code-generator-impl.h" |
10 #include "src/compiler/gap-resolver.h" | 10 #include "src/compiler/gap-resolver.h" |
(...skipping 965 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
976 break; | 976 break; |
977 case kArm64Int64ToFloat32: | 977 case kArm64Int64ToFloat32: |
978 __ Scvtf(i.OutputDoubleRegister().S(), i.InputRegister64(0)); | 978 __ Scvtf(i.OutputDoubleRegister().S(), i.InputRegister64(0)); |
979 break; | 979 break; |
980 case kArm64Int64ToFloat64: | 980 case kArm64Int64ToFloat64: |
981 __ Scvtf(i.OutputDoubleRegister(), i.InputRegister64(0)); | 981 __ Scvtf(i.OutputDoubleRegister(), i.InputRegister64(0)); |
982 break; | 982 break; |
983 case kArm64Uint32ToFloat64: | 983 case kArm64Uint32ToFloat64: |
984 __ Ucvtf(i.OutputDoubleRegister(), i.InputRegister32(0)); | 984 __ Ucvtf(i.OutputDoubleRegister(), i.InputRegister32(0)); |
985 break; | 985 break; |
| 986 case kArm64Uint64ToFloat64: |
| 987 __ Ucvtf(i.OutputDoubleRegister(), i.InputRegister64(0)); |
| 988 break; |
986 case kArm64Float64ExtractLowWord32: | 989 case kArm64Float64ExtractLowWord32: |
987 __ Fmov(i.OutputRegister32(), i.InputFloat32Register(0)); | 990 __ Fmov(i.OutputRegister32(), i.InputFloat32Register(0)); |
988 break; | 991 break; |
989 case kArm64Float64ExtractHighWord32: | 992 case kArm64Float64ExtractHighWord32: |
990 // TODO(arm64): This should use MOV (to general) when NEON is supported. | 993 // TODO(arm64): This should use MOV (to general) when NEON is supported. |
991 __ Fmov(i.OutputRegister(), i.InputFloat64Register(0)); | 994 __ Fmov(i.OutputRegister(), i.InputFloat64Register(0)); |
992 __ Lsr(i.OutputRegister(), i.OutputRegister(), 32); | 995 __ Lsr(i.OutputRegister(), i.OutputRegister(), 32); |
993 break; | 996 break; |
994 case kArm64Float64InsertLowWord32: { | 997 case kArm64Float64InsertLowWord32: { |
995 // TODO(arm64): This should use MOV (from general) when NEON is supported. | 998 // TODO(arm64): This should use MOV (from general) when NEON is supported. |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1502 padding_size -= kInstructionSize; | 1505 padding_size -= kInstructionSize; |
1503 } | 1506 } |
1504 } | 1507 } |
1505 } | 1508 } |
1506 | 1509 |
1507 #undef __ | 1510 #undef __ |
1508 | 1511 |
1509 } // namespace compiler | 1512 } // namespace compiler |
1510 } // namespace internal | 1513 } // namespace internal |
1511 } // namespace v8 | 1514 } // namespace v8 |
OLD | NEW |