Changeset 290907 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
- Timestamp:
- Mar 7, 2022, 1:55:08 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
r290828 r290907 935 935 } 936 936 937 void loadPair64(RegisterID src, TrustedImm32 offset, FPRegisterID dest1, FPRegisterID dest2) 938 { 939 ASSERT(dest1 != dest2); 940 if ((dest2 == (dest1 + 1)) && !offset.m_value) { 941 // Only emit a VLDMIA if the registers happen to be consecutive and 942 // in the proper order and the offset happens to be zero. Otherwise, 943 // the extra instructions to adjust things mean there are no space 944 // savings and the VLDM itself might be a performance loss. 945 m_assembler.vldmia(src, dest1, 2); 946 } else { 947 loadDouble(Address(src, offset.m_value), dest1); 948 loadDouble(Address(src, offset.m_value + 8), dest2); 949 } 950 } 951 952 void storePair64(FPRegisterID src1, FPRegisterID src2, RegisterID dest, TrustedImm32 offset) 953 { 954 if ((src2 == (src1 + 1)) && !offset.m_value) { 955 // Only emit a VSTMIA under a narrow set of conditions. See 956 // loadPair64 for the rationale. 957 m_assembler.vstmia(dest, src1, 2); 958 } else { 959 storeDouble(src1, Address(dest, offset.m_value)); 960 storeDouble(src2, Address(dest, offset.m_value + 8)); 961 } 962 } 963 937 964 void store32(RegisterID src, Address address) 938 965 {
Note:
See TracChangeset
for help on using the changeset viewer.