public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ni, Ray" <ray.ni@intel.com>
To: Gerd Hoffmann <kraxel@redhat.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
	"Wu, Jiaxin" <jiaxin.wu@intel.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>,
	"Lu, Xiaoyu1" <xiaoyu1.lu@intel.com>,
	Pawel Polawski <ppolawsk@redhat.com>,
	"Sami Mujawar" <sami.mujawar@arm.com>,
	Maciej Rabeda <maciej.rabeda@linux.intel.com>,
	"Feng, Bob C" <bob.c.feng@intel.com>,
	"Yao, Jiewen" <jiewen.yao@intel.com>,
	Andrew Fish <afish@apple.com>,
	Bret Barkelew <Bret.Barkelew@microsoft.com>,
	Alexei Fedorov <Alexei.Fedorov@arm.com>,
	"Dong, Guo" <guo.dong@intel.com>,
	"kilian_kegel@hotmail.com" <kilian_kegel@hotmail.com>,
	Maurice Ma <maurice.ma@intel.com>,
	Siyuan Fu <siyuan.fu@intel.com>,
	"Chang, Abner" <abner.chang@hpe.com>,
	"Gao, Zhichao" <zhichao.gao@intel.com>,
	"Xu, Wei6" <wei6.xu@intel.com>,
	Supreeth Venkatesh <supreeth.venkatesh@arm.com>,
	Julien Grall <julien@xen.org>,
	"Schaefer, Daniel" <daniel.schaefer@hpe.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	"Jiang, Guomin" <guomin.jiang@intel.com>,
	"Justen, Jordan L" <jordan.l.justen@intel.com>,
	Oliver Steffen <osteffen@redhat.com>,
	"Boeuf, Sebastien" <sebastien.boeuf@intel.com>,
	"You, Benjamin" <benjamin.you@intel.com>,
	"Xu, Min M" <min.m.xu@intel.com>,
	Rebecca Cran <rebecca@bsdio.com>,
	"Wang, Nickle" <nickle.wang@hpe.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Sami Mujawar <Sami.Mujawar@arm.com>,
	Peter Grehan <grehan@freebsd.org>,
	"Aktas, Erdem" <erdemaktas@google.com>,
	Brijesh Singh <brijesh.singh@amd.com>,
	James Bottomley <jejb@linux.ibm.com>,
	"Chen, Christine" <yuwei.chen@intel.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>,
	"Yao, Jiewen" <jiewen.yao@intel.com>,
	Ard Biesheuvel <ardb@kernel.org>
Subject: Re: [PATCH v4 4/9] MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp
Date: Thu, 9 Jun 2022 03:57:16 +0000	[thread overview]
Message-ID: <MWHPR11MB16311D39995B771AAE9922598CA79@MWHPR11MB1631.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20220603122638.1547060-5-kraxel@redhat.com>

Gerd,
I am interested in this patch sets. But I have some trouble to get all the patches. Do you have a branch that contains all the changes?

Thanks,
Ray

> -----Original Message-----
> From: Gerd Hoffmann <kraxel@redhat.com>
> Sent: Friday, June 3, 2022 8:27 PM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Sean Brogan <sean.brogan@microsoft.com>;
> Anthony Perard <anthony.perard@citrix.com>; Leif Lindholm <quic_llindhol@quicinc.com>; Liu, Zhiguang
> <zhiguang.liu@intel.com>; Lu, Xiaoyu1 <xiaoyu1.lu@intel.com>; Pawel Polawski <ppolawsk@redhat.com>; Sami Mujawar
> <sami.mujawar@arm.com>; Maciej Rabeda <maciej.rabeda@linux.intel.com>; Feng, Bob C <bob.c.feng@intel.com>; Yao,
> Jiewen <jiewen.yao@intel.com>; Andrew Fish <afish@apple.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>; Alexei
> Fedorov <Alexei.Fedorov@arm.com>; Dong, Guo <guo.dong@intel.com>; Gerd Hoffmann <kraxel@redhat.com>;
> kilian_kegel@hotmail.com; Maurice Ma <maurice.ma@intel.com>; Siyuan Fu <siyuan.fu@intel.com>; Chang, Abner
> <abner.chang@hpe.com>; Gao, Zhichao <zhichao.gao@intel.com>; Xu, Wei6 <wei6.xu@intel.com>; Supreeth Venkatesh
> <supreeth.venkatesh@arm.com>; Julien Grall <julien@xen.org>; Schaefer, Daniel <daniel.schaefer@hpe.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>; Jiang, Guomin <guomin.jiang@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Oliver
> Steffen <osteffen@redhat.com>; Boeuf, Sebastien <sebastien.boeuf@intel.com>; You, Benjamin <benjamin.you@intel.com>;
> Xu, Min M <min.m.xu@intel.com>; Ni, Ray <ray.ni@intel.com>; Rebecca Cran <rebecca@bsdio.com>; Wang, Nickle
> <nickle.wang@hpe.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Tom Lendacky <thomas.lendacky@amd.com>;
> Sami Mujawar <Sami.Mujawar@arm.com>; Peter Grehan <grehan@freebsd.org>; Aktas, Erdem <erdemaktas@google.com>;
> Brijesh Singh <brijesh.singh@amd.com>; James Bottomley <jejb@linux.ibm.com>; Chen, Christine <yuwei.chen@intel.com>;
> Gao, Liming <gaoliming@byosoft.com.cn>; Yao, Jiewen <jiewen.yao@intel.com>; Ard Biesheuvel <ardb@kernel.org>
> Subject: [PATCH v4 4/9] MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp
> 
> Move intrinsics for ia32 from CryptoPkg/Library/IntrinsicLib
> to MdePkg/Library/CompilerIntrinsicsLib.  Also move strcmp.
> 
> Remove CryptoPkg/Library/IntrinsicLib.
> Use MdePkg/Library/CompilerIntrinsicsLib instead.
> Update all references.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
> Acked-by: Ard Biesheuvel <ardb@kernel.org>
> Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
> ---
>  ArmVirtPkg/ArmVirt.dsc.inc                    |  2 +-
>  CryptoPkg/CryptoPkg.dsc                       |  3 +-
>  EmulatorPkg/EmulatorPkg.dsc                   |  2 +-
>  FmpDevicePkg/FmpDevicePkg.dsc                 |  2 +-
>  NetworkPkg/NetworkPkg.dsc                     |  2 +-
>  OvmfPkg/AmdSev/AmdSevX64.dsc                  |  2 +-
>  OvmfPkg/Bhyve/BhyveX64.dsc                    |  2 +-
>  OvmfPkg/CloudHv/CloudHvX64.dsc                |  2 +-
>  OvmfPkg/IntelTdx/IntelTdxX64.dsc              |  2 +-
>  OvmfPkg/Microvm/MicrovmX64.dsc                |  2 +-
>  OvmfPkg/OvmfPkgIa32.dsc                       |  2 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc                    |  2 +-
>  OvmfPkg/OvmfPkgX64.dsc                        |  2 +-
>  OvmfPkg/OvmfXen.dsc                           |  2 +-
>  SecurityPkg/SecurityPkg.dsc                   | 10 +--
>  SignedCapsulePkg/SignedCapsulePkg.dsc         | 12 +--
>  UefiPayloadPkg/UefiPayloadPkg.dsc             |  2 +-
>  .../Library/IntrinsicLib/IntrinsicLib.inf     | 69 -----------------
>  .../CompilerIntrinsicsLib.inf                 | 16 ++++
>  CryptoPkg/Library/IntrinsicLib/CopyMem.c      | 47 ------------
>  .../Library/IntrinsicLib/MemoryIntrinsics.c   | 74 -------------------
>  .../CompilerIntrinsicsLib}/Ia32/MathFtol.c    |  0
>  .../Ia32/MathLShiftS64.c                      |  0
>  .../Ia32/MathRShiftU64.c                      |  0
>  MdePkg/Library/CompilerIntrinsicsLib/strcmp.c | 33 +++++++++
>  .../Library/IntrinsicLib/BaseIntrinsicLib.uni | 16 ----
>  .../Ia32/MathLShiftS64.nasm                   |  0
>  .../CompilerIntrinsicsLib}/Ia32/MathLlmul.asm |  0
>  .../CompilerIntrinsicsLib}/Ia32/MathLlshr.asm |  0
>  .../Ia32/MathRShiftU64.nasm                   |  0
>  30 files changed, 75 insertions(+), 233 deletions(-)
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/CopyMem.c
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathFtol.c (100%)
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.c (100%)
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.c (100%)
>  create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/strcmp.c
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.nasm (100%)
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLlmul.asm (100%)
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLlshr.asm (100%)
>  rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.nasm (100%)
> 
> diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
> index 4b5687927ae8..cc960cf103d2 100644
> --- a/ArmVirtPkg/ArmVirt.dsc.inc
> +++ b/ArmVirtPkg/ArmVirt.dsc.inc
> @@ -153,7 +153,7 @@ [LibraryClasses.common]
>    #
>    # CryptoPkg libraries needed by multiple firmware features
>    #
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc
> index 71679687a8b1..4db8de2e5de8 100644
> --- a/CryptoPkg/CryptoPkg.dsc
> +++ b/CryptoPkg/CryptoPkg.dsc
> @@ -103,7 +103,7 @@ [LibraryClasses]
>    UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf  #???
>    IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf                                          #???
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
> 
>  [LibraryClasses.ARM]
> @@ -240,7 +240,6 @@ [Components]
>    CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
>    CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
>    CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
> -  CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
>    CryptoPkg/Library/TlsLib/TlsLib.inf
>    CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
>    CryptoPkg/Library/OpensslLib/OpensslLib.inf
> diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
> index 4cf886b9eac7..e460e925a988 100644
> --- a/EmulatorPkg/EmulatorPkg.dsc
> +++ b/EmulatorPkg/EmulatorPkg.dsc
> @@ -129,7 +129,7 @@ [LibraryClasses]
> 
>  !if $(SECURE_BOOT_ENABLE) == TRUE
>    RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>    PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
>    AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
> diff --git a/FmpDevicePkg/FmpDevicePkg.dsc b/FmpDevicePkg/FmpDevicePkg.dsc
> index 258b5ce0cded..f314548d4066 100644
> --- a/FmpDevicePkg/FmpDevicePkg.dsc
> +++ b/FmpDevicePkg/FmpDevicePkg.dsc
> @@ -57,7 +57,7 @@ [LibraryClasses]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>    RngLib|MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf
> diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc
> index f69eb3d1d5c2..95dedad392fb 100644
> --- a/NetworkPkg/NetworkPkg.dsc
> +++ b/NetworkPkg/NetworkPkg.dsc
> @@ -53,7 +53,7 @@ [LibraryClasses]
>  !else
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
>  !endif
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
> index fc1fdb2e2297..c0bcc14c6ee6 100644
> --- a/OvmfPkg/AmdSev/AmdSevX64.dsc
> +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
> @@ -188,7 +188,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>    RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
> 
> diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
> index f0166e136cd1..e7b38222ebd6 100644
> --- a/OvmfPkg/Bhyve/BhyveX64.dsc
> +++ b/OvmfPkg/Bhyve/BhyveX64.dsc
> @@ -187,7 +187,7 @@ [LibraryClasses]
>    IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
> index 92664f319be2..f1d1a1e946b2 100644
> --- a/OvmfPkg/CloudHv/CloudHvX64.dsc
> +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
> @@ -198,7 +198,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> index dd8d446f4a56..daeb7cb27cbe 100644
> --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> @@ -175,7 +175,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>    RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
> 
> diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
> index f8fc977cb205..edaec5995f0e 100644
> --- a/OvmfPkg/Microvm/MicrovmX64.dsc
> +++ b/OvmfPkg/Microvm/MicrovmX64.dsc
> @@ -195,7 +195,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index a9841cbfc3ca..0abcbf2c2143 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -195,7 +195,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index f7949780fa38..8c072eac5d4c 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -199,7 +199,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 1448f925b782..212bdab722d5 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -215,7 +215,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc
> index 6ba4bd729ae7..ad88ede14b26 100644
> --- a/OvmfPkg/OvmfXen.dsc
> +++ b/OvmfPkg/OvmfXen.dsc
> @@ -184,7 +184,7 @@ [LibraryClasses]
>    LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
>    DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> 
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>  !if $(NETWORK_TLS_ENABLE) == TRUE
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>  !else
> diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc
> index 2b5ef67016b8..b71b78f56ca5 100644
> --- a/SecurityPkg/SecurityPkg.dsc
> +++ b/SecurityPkg/SecurityPkg.dsc
> @@ -101,7 +101,7 @@ [LibraryClasses.common.PEIM]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
>  !endif
> @@ -119,7 +119,7 @@ [LibraryClasses.common.DXE_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>  !endif
> @@ -140,7 +140,7 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
>  !endif
> @@ -152,7 +152,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>  !endif
> @@ -171,7 +171,7 @@ [LibraryClasses.common.DXE_SMM_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
>  !endif
> diff --git a/SignedCapsulePkg/SignedCapsulePkg.dsc b/SignedCapsulePkg/SignedCapsulePkg.dsc
> index 72b533cd04e8..213e165be5d0 100644
> --- a/SignedCapsulePkg/SignedCapsulePkg.dsc
> +++ b/SignedCapsulePkg/SignedCapsulePkg.dsc
> @@ -126,7 +126,7 @@ [LibraryClasses.common.PEIM]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
>  !endif
> @@ -141,7 +141,7 @@ [LibraryClasses.common.DXE_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>  !endif
> @@ -155,7 +155,7 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
>  !endif
> @@ -178,7 +178,7 @@ [LibraryClasses.common.DXE_SMM_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
>  !endif
> @@ -190,7 +190,7 @@ [LibraryClasses.common.UEFI_DRIVER]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>  !endif
> @@ -202,7 +202,7 @@ [LibraryClasses.common.UEFI_APPLICATION]
>  !ifdef CONTINUOUS_INTEGRATION
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
>  !else
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>  !endif
> diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
> index 4d9bbc80c866..3f20d691fc6e 100644
> --- a/UefiPayloadPkg/UefiPayloadPkg.dsc
> +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
> @@ -182,7 +182,7 @@ [LibraryClasses]
>    DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLib/DxeHobListLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>    TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +  IntrinsicLib|MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>    OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>    RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
>    HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf
> diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> deleted file mode 100644
> index 86e74b57b109..000000000000
> --- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -## @file
> -#  Intrinsic Routines Wrapper Library Instance.
> -#
> -#  Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> -#  SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
> -##
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BaseIntrinsicLib
> -  MODULE_UNI_FILE                = BaseIntrinsicLib.uni
> -  FILE_GUID                      = 63850097-3E97-4c4f-A52D-C811A0106105
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = IntrinsicLib
> -
> -#
> -# The following information is for reference only and not required by the build tools.
> -#
> -#  VALID_ARCHITECTURES           = IA32 X64
> -#
> -
> -[Sources]
> -  MemoryIntrinsics.c
> -
> -[Sources.IA32]
> -  CopyMem.c
> -
> -  Ia32/MathLShiftS64.c      | MSFT
> -  Ia32/MathRShiftU64.c      | MSFT
> -  Ia32/MathFtol.c           | MSFT
> -  Ia32/MathLlmul.asm        | MSFT
> -  Ia32/MathLlshr.asm        | MSFT
> -
> -  Ia32/MathLShiftS64.c      | INTEL
> -  Ia32/MathRShiftU64.c      | INTEL
> -  Ia32/MathFtol.c           | INTEL
> -
> -  Ia32/MathLShiftS64.nasm   | GCC
> -  Ia32/MathRShiftU64.nasm   | GCC
> -
> -[Sources.X64]
> -  CopyMem.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -
> -[LibraryClasses]
> -  BaseLib
> -  BaseMemoryLib
> -
> -[BuildOptions]
> -   #
> -   # Override MSFT build option to remove /Oi and /GL
> -   #
> -   MSFT:DEBUG_VS2003_IA32_CC_FLAGS        == /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF /GX- /Zi /Gm
> -   MSFT:RELEASE_VS2003_IA32_CC_FLAGS      == /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF /GX-
> -   MSFT:DEBUG_VS2003xASL_IA32_CC_FLAGS    == /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF /GX- /Zi /Gm
> -   MSFT:RELEASE_VS2003xASL_IA32_CC_FLAGS  == /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1b2 /FIAutoGen.h /EHs-
> c- /GR- /GF /GX-
> -   MSFT:DEBUG_DDK3790_IA32_CC_FLAGS       == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR-
> /GF /Zi /Gm
> -   MSFT:RELEASE_DDK3790_IA32_CC_FLAGS     == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR-
> /GF
> -   MSFT:DEBUG_DDK3790xASL_IA32_CC_FLAGS   == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF /Zi /Gm
> -   MSFT:RELEASE_DDK3790xASL_IA32_CC_FLAGS == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF
> -   MSFT:DEBUG_*_IA32_CC_FLAGS             == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF /Gy /Zi /Gm
> -   MSFT:RELEASE_*_IA32_CC_FLAGS           == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c-
> /GR- /GF
> -   MSFT:DEBUG_*_X64_CC_FLAGS              == /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1b2s /Gy /FIAutoGen.h
> /EHs-c- /GR- /GF /Zi /Gm
> -   MSFT:RELEASE_*_X64_CC_FLAGS            == /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1b2s /Gy /FIAutoGen.h
> /EHs-c- /GR- /GF
> -  INTEL:*_*_*_CC_FLAGS                    =  /Oi-
> diff --git a/MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> b/MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> index a1559fc40ce9..7267d0e3154d 100644
> --- a/MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +++ b/MdePkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> @@ -26,6 +26,8 @@ [Sources]
>    memcmp_ms.c          | MSFT
>    memmove_ms.c         | MSFT
> 
> +  strcmp.c
> +
>  [Sources.ARM]
>    Arm/ashrdi3.S        | GCC
>    Arm/ashldi3.S        | GCC
> @@ -67,6 +69,20 @@ [Sources.ARM]
>  [Sources.AARCH64]
>    AArch64/Atomics.S    | GCC
> 
> +[Sources.IA32]
> +  Ia32/MathLShiftS64.c      | MSFT
> +  Ia32/MathRShiftU64.c      | MSFT
> +  Ia32/MathFtol.c           | MSFT
> +  Ia32/MathLlmul.asm        | MSFT
> +  Ia32/MathLlshr.asm        | MSFT
> +
> +  Ia32/MathLShiftS64.c      | INTEL
> +  Ia32/MathRShiftU64.c      | INTEL
> +  Ia32/MathFtol.c           | INTEL
> +
> +  Ia32/MathLShiftS64.nasm   | GCC
> +  Ia32/MathRShiftU64.nasm   | GCC
> +
>  [Packages]
>    MdePkg/MdePkg.dec
> 
> diff --git a/CryptoPkg/Library/IntrinsicLib/CopyMem.c b/CryptoPkg/Library/IntrinsicLib/CopyMem.c
> deleted file mode 100644
> index 14a213d1dadf..000000000000
> --- a/CryptoPkg/Library/IntrinsicLib/CopyMem.c
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -/** @file
> -  Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based
> -  Cryptographic Library.
> -
> -Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/BaseMemoryLib.h>
> -
> -#if defined (__clang__) && !defined (__APPLE__)
> -
> -/* Copies bytes between buffers */
> -static __attribute__ ((__used__))
> -void *
> -__memcpy (
> -  void          *dest,
> -  const void    *src,
> -  unsigned int  count
> -  )
> -{
> -  return CopyMem (dest, src, (UINTN)count);
> -}
> -
> -__attribute__ ((__alias__ ("__memcpy")))
> -void *
> -memcpy (
> -  void          *dest,
> -  const void    *src,
> -  unsigned int  count
> -  );
> -
> -#else
> -/* Copies bytes between buffers */
> -void *
> -memcpy (
> -  void          *dest,
> -  const void    *src,
> -  unsigned int  count
> -  )
> -{
> -  return CopyMem (dest, src, (UINTN)count);
> -}
> -
> -#endif
> diff --git a/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c b/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
> deleted file mode 100644
> index 611e9fd773b0..000000000000
> --- a/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
> +++ /dev/null
> @@ -1,74 +0,0 @@
> -/** @file
> -  Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based
> -  Cryptographic Library.
> -
> -Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/BaseLib.h>
> -
> -typedef UINTN size_t;
> -
> -#if defined (__GNUC__) || defined (__clang__)
> -#define GLOBAL_USED  __attribute__((used))
> -#else
> -#define GLOBAL_USED
> -#endif
> -
> -/* OpenSSL will use floating point support, and C compiler produces the _fltused
> -   symbol by default. Simply define this symbol here to satisfy the linker. */
> -int  GLOBAL_USED  _fltused = 1;
> -
> -/* Sets buffers to a specified character */
> -void *
> -memset (
> -  void    *dest,
> -  int     ch,
> -  size_t  count
> -  )
> -{
> -  //
> -  // NOTE: Here we use one base implementation for memset, instead of the direct
> -  //       optimized SetMem() wrapper. Because the IntrinsicLib has to be built
> -  //       without whole program optimization option, and there will be some
> -  //       potential register usage errors when calling other optimized codes.
> -  //
> -
> -  //
> -  // Declare the local variables that actually move the data elements as
> -  // volatile to prevent the optimizer from replacing this function with
> -  // the intrinsic memset()
> -  //
> -  volatile UINT8  *Pointer;
> -
> -  Pointer = (UINT8 *)dest;
> -  while (count-- != 0) {
> -    *(Pointer++) = (UINT8)ch;
> -  }
> -
> -  return dest;
> -}
> -
> -/* Compare bytes in two buffers. */
> -int
> -memcmp (
> -  const void  *buf1,
> -  const void  *buf2,
> -  size_t      count
> -  )
> -{
> -  return (int)CompareMem (buf1, buf2, count);
> -}
> -
> -int
> -strcmp (
> -  const char  *s1,
> -  const char  *s2
> -  )
> -{
> -  return (int)AsciiStrCmp (s1, s2);
> -}
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathFtol.c b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathFtol.c
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathFtol.c
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathFtol.c
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.c b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLShiftS64.c
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.c
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLShiftS64.c
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.c b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathRShiftU64.c
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.c
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathRShiftU64.c
> diff --git a/MdePkg/Library/CompilerIntrinsicsLib/strcmp.c b/MdePkg/Library/CompilerIntrinsicsLib/strcmp.c
> new file mode 100644
> index 000000000000..937b19a3dff7
> --- /dev/null
> +++ b/MdePkg/Library/CompilerIntrinsicsLib/strcmp.c
> @@ -0,0 +1,33 @@
> +/** @file
> +  Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based
> +  Cryptographic Library.
> +
> +Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <Base.h>
> +#include <Library/BaseMemoryLib.h>
> +#include <Library/BaseLib.h>
> +
> +typedef UINTN size_t;
> +
> +#if defined (__GNUC__) || defined (__clang__)
> +#define GLOBAL_USED  __attribute__((used))
> +#else
> +#define GLOBAL_USED
> +#endif
> +
> +/* OpenSSL will use floating point support, and C compiler produces the _fltused
> +   symbol by default. Simply define this symbol here to satisfy the linker. */
> +int  GLOBAL_USED  _fltused = 1;
> +
> +int
> +strcmp (
> +  const char  *s1,
> +  const char  *s2
> +  )
> +{
> +  return (int)AsciiStrCmp (s1, s2);
> +}
> diff --git a/CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni b/CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni
> deleted file mode 100644
> index 47f19d4080f7..000000000000
> --- a/CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -// /** @file
> -// Intrinsic Routines Wrapper Library Instance.
> -//
> -// This module is intrinsic routines wrapper library instance.
> -//
> -// Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// **/
> -
> -
> -#string STR_MODULE_ABSTRACT             #language en-US "Intrinsic Routines Wrapper Library Instance"
> -
> -#string STR_MODULE_DESCRIPTION          #language en-US "This module is intrinsic routines wrapper library instance."
> -
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.nasm
> b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLShiftS64.nasm
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.nasm
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLShiftS64.nasm
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLlmul.asm b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLlmul.asm
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathLlmul.asm
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLlmul.asm
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLlshr.asm b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLlshr.asm
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathLlshr.asm
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathLlshr.asm
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.nasm
> b/MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathRShiftU64.nasm
> similarity index 100%
> rename from CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.nasm
> rename to MdePkg/Library/CompilerIntrinsicsLib/Ia32/MathRShiftU64.nasm
> --
> 2.36.1


  reply	other threads:[~2022-06-09  3:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-03 12:26 [PATCH v4 0/9] consolidate compiler intrinsics Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 1/9] MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 2/9] MdePkg/CompilerIntrinsicsLib: fix msft sources for x64 Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 3/9] MdePkg/CompilerIntrinsicsLib: move size_t typedef to header file Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 4/9] MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp Gerd Hoffmann
2022-06-09  3:57   ` Ni, Ray [this message]
2022-06-09  6:33     ` Gerd Hoffmann
2022-06-09  9:34       ` Ni, Ray
2022-06-09 10:41         ` Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 5/9] MdePkg/CompilerIntrinsicsLib: copy over intrinsics from edk2-libc repo Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 6/9] MdePkg/CompilerIntrinsicsLib: drop include from Gcc.c Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 7/9] MdePkg/CompilerIntrinsicsLib: drop debug logging " Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 8/9] MdePkg/CompilerIntrinsicsLib: remove duplicate functions " Gerd Hoffmann
2022-06-03 12:26 ` [PATCH v4 9/9] MdePkg/CompilerIntrinsicsLib: add new sources to CompilerIntrinsicsLib.inf Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MWHPR11MB16311D39995B771AAE9922598CA79@MWHPR11MB1631.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox