| OLD | NEW | 
|---|
| 1 // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef RUNTIME_VM_ASSEMBLER_ARM64_H_ | 5 #ifndef RUNTIME_VM_ASSEMBLER_ARM64_H_ | 
| 6 #define RUNTIME_VM_ASSEMBLER_ARM64_H_ | 6 #define RUNTIME_VM_ASSEMBLER_ARM64_H_ | 
| 7 | 7 | 
| 8 #ifndef RUNTIME_VM_ASSEMBLER_H_ | 8 #ifndef RUNTIME_VM_ASSEMBLER_H_ | 
| 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. | 
| 10 #endif | 10 #endif | 
| (...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 836     const uint8_t bit54 = (imm64 >> 52) & 0x3; | 836     const uint8_t bit54 = (imm64 >> 52) & 0x3; | 
| 837     const uint8_t bit30 = (imm64 >> 48) & 0xf; | 837     const uint8_t bit30 = (imm64 >> 48) & 0xf; | 
| 838     const uint8_t imm8 = (bit7 << 7) | (bit6 << 6) | (bit54 << 4) | bit30; | 838     const uint8_t imm8 = (bit7 << 7) | (bit6 << 6) | (bit54 << 4) | bit30; | 
| 839     const int64_t expimm8 = Instr::VFPExpandImm(imm8); | 839     const int64_t expimm8 = Instr::VFPExpandImm(imm8); | 
| 840     if (imm64 != expimm8) { | 840     if (imm64 != expimm8) { | 
| 841       return false; | 841       return false; | 
| 842     } | 842     } | 
| 843     EmitFPImm(FMOVDI, vd, imm8); | 843     EmitFPImm(FMOVDI, vd, imm8); | 
| 844     return true; | 844     return true; | 
| 845   } | 845   } | 
|  | 846   void fmovsr(VRegister vd, Register rn) { | 
|  | 847     ASSERT(rn != R31); | 
|  | 848     ASSERT(rn != CSP); | 
|  | 849     const Register crn = ConcreteRegister(rn); | 
|  | 850     EmitFPIntCvtOp(FMOVSR, static_cast<Register>(vd), crn, kWord); | 
|  | 851   } | 
|  | 852   void fmovrs(Register rd, VRegister vn) { | 
|  | 853     ASSERT(rd != R31); | 
|  | 854     ASSERT(rd != CSP); | 
|  | 855     const Register crd = ConcreteRegister(rd); | 
|  | 856     EmitFPIntCvtOp(FMOVRS, crd, static_cast<Register>(vn), kWord); | 
|  | 857   } | 
| 846   void fmovdr(VRegister vd, Register rn) { | 858   void fmovdr(VRegister vd, Register rn) { | 
| 847     ASSERT(rn != R31); | 859     ASSERT(rn != R31); | 
| 848     ASSERT(rn != CSP); | 860     ASSERT(rn != CSP); | 
| 849     const Register crn = ConcreteRegister(rn); | 861     const Register crn = ConcreteRegister(rn); | 
| 850     EmitFPIntCvtOp(FMOVDR, static_cast<Register>(vd), crn); | 862     EmitFPIntCvtOp(FMOVDR, static_cast<Register>(vd), crn); | 
| 851   } | 863   } | 
| 852   void fmovrd(Register rd, VRegister vn) { | 864   void fmovrd(Register rd, VRegister vn) { | 
| 853     ASSERT(rd != R31); | 865     ASSERT(rd != R31); | 
| 854     ASSERT(rd != CSP); | 866     ASSERT(rd != CSP); | 
| 855     const Register crd = ConcreteRegister(rd); | 867     const Register crd = ConcreteRegister(rd); | 
| (...skipping 1066 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1922                                   Register value, | 1934                                   Register value, | 
| 1923                                   Label* no_update); | 1935                                   Label* no_update); | 
| 1924 | 1936 | 
| 1925   DISALLOW_ALLOCATION(); | 1937   DISALLOW_ALLOCATION(); | 
| 1926   DISALLOW_COPY_AND_ASSIGN(Assembler); | 1938   DISALLOW_COPY_AND_ASSIGN(Assembler); | 
| 1927 }; | 1939 }; | 
| 1928 | 1940 | 
| 1929 }  // namespace dart | 1941 }  // namespace dart | 
| 1930 | 1942 | 
| 1931 #endif  // RUNTIME_VM_ASSEMBLER_ARM64_H_ | 1943 #endif  // RUNTIME_VM_ASSEMBLER_ARM64_H_ | 
| OLD | NEW | 
|---|