audk/MdePkg/Library/BaseMemoryLibOptDxe
Ard Biesheuvel 217b3ac093 MdePkg/BaseMemoryLibOptDxe ARM|AARCH64: implement accelerated GUID functions
As reported by Vishal, CompareGuid() is a hotspot, and switching from
BaseMemoryLibStm in ArmPkg/ to BaseMemoryLibOptDxe causes a noticeable
performance regression due to the fact that BaseMemoryLibOptDxe uses
unaligned accessors explicitly to implement CompareGuid() and the related
functions.

Since BaseMemoryLibOptDxe on ARM and AARCH64 can only be used in contexts
where unaligned accesses are allowed, reimplement these functions for ARM
and AARCH64 specifically, using wide accessors that can tolerate any
misalignment.

Reported-by: "Oliyil Kunnil, Vishal" <vishalo@qti.qualcomm.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-09-21 08:43:17 +01:00
..
AArch64 MdePkg/BaseMemoryLibOptDxe ARM|AARCH64: implement accelerated GUID functions 2016-09-21 08:43:17 +01:00
Arm MdePkg/BaseMemoryLibOptDxe ARM|AARCH64: implement accelerated GUID functions 2016-09-21 08:43:17 +01:00
Ia32 MdePkg BaseMemoryLib: Add assembly implementation of API IsZeroBuffer() 2016-08-22 18:54:31 +08:00
X64 MdePkg BaseMemoryLib: Add assembly implementation of API IsZeroBuffer() 2016-08-22 18:54:31 +08:00
BaseMemoryLibOptDxe.inf MdePkg/BaseMemoryLibOptDxe ARM|AARCH64: implement accelerated GUID functions 2016-09-21 08:43:17 +01:00
BaseMemoryLibOptDxe.uni MdePkg: Convert all .uni files to utf-8 2015-12-15 04:53:50 +00:00
CompareMemWrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
CopyMemWrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
IsZeroBufferWrapper.c MdePkg BaseMemoryLib: Add assembly implementation of API IsZeroBuffer() 2016-08-22 18:54:31 +08:00
MemLibGuid.c MdePkg BaseMemoryLib: Add implementation of API IsZeroGuid() 2016-08-22 18:54:29 +08:00
MemLibInternals.h MdePkg BaseMemoryLib: Add assembly implementation of API IsZeroBuffer() 2016-08-22 18:54:31 +08:00
ScanMem8Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
ScanMem16Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
ScanMem32Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
ScanMem64Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
SetMem16Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
SetMem32Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
SetMem64Wrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
SetMemWrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00
ZeroMemWrapper.c Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) 2010-06-25 21:56:02 +00:00