dolphin/Source/Core/Common
Ryan Houdek 8b8310d28c [AArch64] Optimize FPR pushing and popping.
Previously on FPR pushing and popping we would do a single STR/LDR per quad FPR we wanted to push/pop.
In most of our cases when we are pushing and popping VFP registers they will be consecutive registers that will save more efficiently using the NEON
loadstores that can do up to four quad registers.
So this can potentially cutting instructions down to ~1/4th the amount of instructions if the registers are all consecutive.

On the Cortex-A57 this is basically just an icache improvement, but on the Nvidia Denver this may be optimized to be more efficient. Either way it's a
win.
2015-03-02 06:27:13 -06:00
..
Crypto
Logging Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
Arm64Emitter.cpp [AArch64] Optimize FPR pushing and popping. 2015-03-02 06:27:13 -06:00
Arm64Emitter.h [AArch64] Optimize FPR pushing and popping. 2015-03-02 06:27:13 -06:00
ArmCommon.h
ArmCPUDetect.cpp Minor consistency changes 2015-01-12 15:18:18 -05:00
ArmEmitter.cpp Arm(64)Emitter: Make some variables static 2014-11-25 23:27:48 -05:00
ArmEmitter.h [ARM] Fix poison memory functions. 2015-02-13 12:16:05 -06:00
Atomic_GCC.h
Atomic_Win32.h Clean up the intrinsics #ifdef mess 2015-02-24 01:02:36 +01:00
Atomic.h
BitField.h Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
BitSet.h JIT: optimize for the common case of unquantized psq_l/st 2015-01-10 14:14:43 -08:00
BreakPoints.cpp BreakPoints: Fix compile warning 2014-10-28 12:22:30 -07:00
BreakPoints.h Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
CDUtils.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
CDUtils.h
ChunkFile.h Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
CMakeLists.txt Added TraversalServer.cpp to Core/Common 2015-02-25 18:28:27 -08:00
CodeBlock.h
ColorUtil.cpp
ColorUtil.h
Common.h Common: move _M_SSE macro to Intrinsics.h 2015-02-24 01:06:25 +01:00
Common.vcxproj Moved Traversal Client code over from old netplay 2015-02-25 18:28:25 -08:00
Common.vcxproj.filters Moved Traversal Client code over from old netplay 2015-02-25 18:28:25 -08:00
CommonFuncs.h Common: move _mm_shuffle_epi8 to Intrinsics.h 2015-02-24 01:06:24 +01:00
CommonPaths.h PostProcessing: Add support for user-supplied anaglyph shaders. 2015-01-25 22:07:03 +01:00
CommonTypes.h Minor consistency changes 2015-01-12 15:18:18 -05:00
CPUDetect.h JIT: more optimizing of float ops based on known input characteristics 2014-11-29 11:33:11 -08:00
DebugInterface.h Added a RAM Watch window to the debugger 2014-10-26 14:56:02 +11:00
Event.h
ExtendedTrace.cpp
ExtendedTrace.h
FifoQueue.h
FileSearch.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
FileSearch.h
FileUtil.cpp Fix a bug on user path re-assignment. 2015-02-25 05:45:25 -06:00
FileUtil.h Read game title from ini file, or titles.txt if it exists. 2014-10-22 22:19:40 -04:00
FixedSizeQueue.h Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
Flag.h
FPURoundMode.h
GekkoDisassembler.cpp Minor fix with psq_st{u,}x disassembly. 2015-01-19 10:12:23 -06:00
GekkoDisassembler.h
GenericCPUDetect.cpp Fix warning in x64CPUDetect.cpp in generic build by not building it. 2014-09-25 18:48:00 -04:00
GenericFPURoundMode.cpp Update Outdated Google Code References 2014-12-20 21:17:51 -06:00
Hash.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
Hash.h Fix clang on x86_64. 2015-01-29 01:55:20 -06:00
IniFile.cpp Use emplace_* functions where in-place construction is preferable 2015-02-04 11:39:08 -05:00
IniFile.h Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
Intrinsics.h Intrinsics: drop custom _mm_shuffle_epi8() 2015-02-24 19:37:16 +01:00
JitRegister.cpp JitRegister: fix VTune integration 2015-02-12 02:14:49 +01:00
JitRegister.h JitRegister: overload Register with a [start,end) variant 2015-01-28 09:50:19 +01:00
LinearDiskCache.h
make_scmrev.h.js
MathUtil.cpp VertexShaderManager: Compute stereoscopy projection matrices. 2014-11-23 14:23:41 +01:00
MathUtil.h VertexShaderManager: Compute stereoscopy projection matrices. 2014-11-23 14:23:41 +01:00
MemArena.cpp Make address translation respect the CPU translation mode. 2015-02-11 13:56:22 -08:00
MemArena.h Make address translation respect the CPU translation mode. 2015-02-11 13:56:22 -08:00
MemoryUtil.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
MemoryUtil.h
Misc.cpp Fix a -Wunused-result warning 2015-02-24 10:29:59 +01:00
MsgHandler.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
MsgHandler.h
NandPaths.cpp Use emplace_* functions where in-place construction is preferable 2015-02-04 11:39:08 -05:00
NandPaths.h
Network.cpp
Network.h
PcapFile.cpp
PcapFile.h
PerformanceCounter.cpp Profiling: measure time on POSIX systems using clock_gettime 2014-11-03 00:07:12 +01:00
PerformanceCounter.h Profiling: measure time on POSIX systems using clock_gettime 2014-11-03 00:07:12 +01:00
Profiler.cpp Fix building with PCH disabled. 2014-12-03 22:01:12 -06:00
Profiler.h Common: Add a built-in profiler 2014-12-03 00:50:41 +01:00
SCMRevGen.vcxproj
SDCardUtil.cpp
SDCardUtil.h
SettingsHandler.cpp
SettingsHandler.h
StdMakeUnique.h
StringUtil.cpp Use the C locale for non-Windows CharArrayFromFormatV() and StringFromFormat() 2015-02-04 17:49:22 +01:00
StringUtil.h Use printf-like format in JitRegister::Register 2015-01-28 09:47:08 +01:00
SymbolDB.cpp
SymbolDB.h
SysConf.cpp
SysConf.h
Thread.cpp JitRegister: fix VTune integration 2015-02-12 02:14:49 +01:00
Thread.h Minor consistency changes 2015-01-12 15:18:18 -05:00
Timer.cpp Use clock_gettime instead of gettimeofday, it's more effiency on low power system 2015-02-18 21:44:58 +01:00
Timer.h Common: Add a built-in profiler 2014-12-03 00:50:41 +01:00
TraversalClient.cpp Added TraversalServer.cpp to Core/Common 2015-02-25 18:28:27 -08:00
TraversalClient.h Added TraversalServer.cpp to Core/Common 2015-02-25 18:28:27 -08:00
TraversalProto.h Added Gui elements in Netplay Setup Diag so a person can choose a traversal server 2015-02-25 18:28:26 -08:00
TraversalServer.cpp Added TraversalServer.cpp to Core/Common 2015-02-25 18:28:27 -08:00
Version.cpp Add missing includes where headers depend on other headers having been included first. 2014-10-21 21:22:16 -04:00
x64ABI.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
x64ABI.h Convert registersInUse to BitSet. 2014-10-25 16:57:25 -04:00
x64Analyzer.cpp JIT: Reuse trampolines when possible 2014-10-05 15:03:11 +11:00
x64Analyzer.h Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
x64CPUDetect.cpp Formatting/Whitespace Cleanup 2015-02-25 10:48:21 -05:00
x64Emitter.cpp Merge pull request #1869 from Stevoisiak/GeneralConsistency 2015-01-21 13:46:53 -06:00
x64Emitter.h Added a comment to document an issue with the codegen. 2015-01-24 16:08:26 +13:00
x64FPURoundMode.cpp Clean up the intrinsics #ifdef mess 2015-02-24 01:02:36 +01:00
XSaveWorkaround.cpp