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


[-- Attachment #1.1: Type: text/plain, Size: 21757 bytes --]

Hi Gerd,

additionally I would suggest once more to adjust the DLINK_FLAGS in tools_def.txt to hold CompilerNameINTRIN32/64.LIB as a search library
as already introduced in https://edk2.groups.io/g/devel/message/86072?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3ACreated%2C%2Ckilian%2C20%2C2%2C0%2C87479913
(here is the entire thread https://edk2.groups.io/g/devel/message/86334?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3ACreated%2C%2Cposterid%3A2193857%2C20%2C2%2C0%2C87479913)

In that case you don’t need to take the IntrinsicLibrary into the .INF file, because the intrinsic library is in the compiler’s library search path.
That has annoyed UEFI developers world wide for more that a decade.

With your solution can you compile + link the body of main() given below in a PEI driver on all targets?
Really?

Best regards,
Kilian

[cid:image001.png@01D82DFC.85319FA0]

typedef unsigned long long uint64_t;                // allow a C99-Standard definition to save ink
typedef          long long  int64_t;                // allow another C99-Standard definition to save ink
typedef struct _BUFFER {
    char buffer[5869];
}BUFFER, *PBUFFER;

int main(int argc, char** argv)
{
    //
    // memset()  http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#page=345
    //
    BUFFER buffer = { argc };                       // sometimes invokes automatically a function called memset()
    //
    // memcpy()  http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#page=337
    //
    PBUFFER pBuf = (void*)argv[1];
    *pBuf = buffer;                                 // sometimes invokes automatically a function called memcpy()
    //
    // shift operators  http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#page=96
    //
    uint64_t ullshl = ((uint64_t)argc) <<  3ULL;    // <<
    uint64_t ullshr = ((uint64_t)argc) >>  5ULL;    // >>
    int64_t  llshl  = (( int64_t)argc) <<  7LL;     // <<
    int64_t  llshr  = (( int64_t)argc) >> 11LL;     // >>
    //
    // multiplicative operators  http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#page=94
    //
    uint64_t ullmul = ((uint64_t)argc) * 13ULL;     // *
    uint64_t ulldiv = ((uint64_t)argc) / 17ULL;     // /
    uint64_t ullrem = ((uint64_t)argc) % 19ULL;     // %
    int64_t  llmul  = (( int64_t)argc) * 23LL;      // *
    int64_t  lldiv  = (( int64_t)argc) / 29LL;      // /
    int64_t  llrem  = (( int64_t)argc) % 31LL;      // %
    ////
    //// floating point intrinsics
    ////
    //volatile double dblmul = ((double)argc) * 37ULL;
    //volatile double dbldiv = ((double)argc) / 37ULL;

    //__builtin_trap();

    //__debugbreak();

    return (int)(
          ullshl
        + ullshr
        + ullmul
        + ulldiv
        + ullrem
        +  llshl
        +  llshr
        +  llmul
        +  lldiv
        +  llrem
        + (uint64_t)pBuf);
}



From: Yao, Jiewen<mailto:jiewen.yao@intel.com>
Sent: Wednesday, March 2, 2022 03:16 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Gao, Liming<mailto:gaoliming@byosoft.com.cn>; kraxel@redhat.com<mailto:kraxel@redhat.com>
Cc: Lu, Xiaoyu1<mailto:xiaoyu1.lu@intel.com>; Feng, Bob C<mailto:bob.c.feng@intel.com>; 'Rebecca Cran'<mailto:rebecca@bsdio.com>; 'James Bottomley'<mailto:jejb@linux.ibm.com>; 'Sami Mujawar'<mailto:Sami.Mujawar@arm.com>; Justen, Jordan L<mailto:jordan.l.justen@intel.com>; Aktas, Erdem<mailto:erdemaktas@google.com>; 'Supreeth Venkatesh'<mailto:supreeth.venkatesh@arm.com>; Boeuf, Sebastien<mailto:sebastien.boeuf@intel.com>; Gao, Zhichao<mailto:zhichao.gao@intel.com>; Liu, Zhiguang<mailto:zhiguang.liu@intel.com>; 'Maciej Rabeda'<mailto:maciej.rabeda@linux.intel.com>; Ma, Maurice<mailto:maurice.ma@intel.com>; 'Andrew Fish'<mailto:afish@apple.com>; 'Ard Biesheuvel'<mailto:ardb+tianocore@kernel.org>; 'Tom Lendacky'<mailto:thomas.lendacky@amd.com>; 'Peter Grehan'<mailto:grehan@freebsd.org>; 'Sean Brogan'<mailto:sean.brogan@microsoft.com>; Jiang, Guomin<mailto:guomin.jiang@intel.com>; 'Bret Barkelew'<mailto:Bret.Barkelew@microsoft.com>; Chen, Christine<mailto:yuwei.chen@intel.com>; You, Benjamin<mailto:benjamin.you@intel.com>; Schaefer, Daniel<mailto:daniel.schaefer@hpe.com>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>; Xu, Wei6<mailto:wei6.xu@intel.com>; Wang, Jian J<mailto:jian.j.wang@intel.com>; Wu, Jiaxin<mailto:jiaxin.wu@intel.com>; Fu, Siyuan<mailto:siyuan.fu@intel.com>; Dong, Guo<mailto:guo.dong@intel.com>; kilian_kegel@hotmail.com<mailto:kilian_kegel@hotmail.com>; Chang, Abner<mailto:abner.chang@hpe.com>; 'Oliver Steffen'<mailto:osteffen@redhat.com>; 'Leif Lindholm'<mailto:quic_llindhol@quicinc.com>; 'Brijesh Singh'<mailto:brijesh.singh@amd.com>; Xu, Min M<mailto:min.m.xu@intel.com>; Ni, Ray<mailto:ray.ni@intel.com>; 'Alexei Fedorov'<mailto:Alexei.Fedorov@arm.com>; 'Julien Grall'<mailto:julien@xen.org>; Wang, Nickle<mailto:nickle.wang@hpe.com>; 'Pawel Polawski'<mailto:ppolawsk@redhat.com>; 'Anthony Perard'<mailto:anthony.perard@citrix.com>
Subject: Re: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics

Acked, for CryptoPkg/OvmfPkg/SecurityPkg/StandaloneMmPkg update.

Thank you
Yao, Jiewen


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming
> Sent: Wednesday, March 2, 2022 10:06 AM
> To: devel@edk2.groups.io; kraxel@redhat.com
> Cc: Lu, Xiaoyu1 <xiaoyu1.lu@intel.com>; Feng, Bob C <bob.c.feng@intel.com>;
> 'Rebecca Cran' <rebecca@bsdio.com>; 'James Bottomley'
> <jejb@linux.ibm.com>; 'Sami Mujawar' <Sami.Mujawar@arm.com>; Justen,
> Jordan L <jordan.l.justen@intel.com>; Aktas, Erdem
> <erdemaktas@google.com>; Yao, Jiewen <jiewen.yao@intel.com>; 'Supreeth
> Venkatesh' <supreeth.venkatesh@arm.com>; Boeuf, Sebastien
> <sebastien.boeuf@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>; Liu,
> Zhiguang <zhiguang.liu@intel.com>; 'Maciej Rabeda'
> <maciej.rabeda@linux.intel.com>; Ma, Maurice <maurice.ma@intel.com>;
> 'Andrew Fish' <afish@apple.com>; 'Ard Biesheuvel'
> <ardb+tianocore@kernel.org>; 'Tom Lendacky' <thomas.lendacky@amd.com>;
> 'Peter Grehan' <grehan@freebsd.org>; 'Sean Brogan'
> <sean.brogan@microsoft.com>; Jiang, Guomin <guomin.jiang@intel.com>;
> 'Bret Barkelew' <Bret.Barkelew@microsoft.com>; Chen, Christine
> <yuwei.chen@intel.com>; You, Benjamin <benjamin.you@intel.com>; Schaefer,
> Daniel <daniel.schaefer@hpe.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Xu, Wei6 <wei6.xu@intel.com>; Wang, Jian J
> <jian.j.wang@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Fu, Siyuan
> <siyuan.fu@intel.com>; Dong, Guo <guo.dong@intel.com>;
> kilian_kegel@hotmail.com; Chang, Abner <abner.chang@hpe.com>; 'Oliver
> Steffen' <osteffen@redhat.com>; 'Leif Lindholm' <quic_llindhol@quicinc.com>;
> 'Brijesh Singh' <brijesh.singh@amd.com>; Xu, Min M <min.m.xu@intel.com>; Ni,
> Ray <ray.ni@intel.com>; 'Alexei Fedorov' <Alexei.Fedorov@arm.com>; 'Julien
> Grall' <julien@xen.org>; Wang, Nickle <nickle.wang@hpe.com>; 'Pawel
> Polawski' <ppolawsk@redhat.com>; 'Anthony Perard'
> <anthony.perard@citrix.com>
> Subject: 回复: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics
>
> Gerd:
>   Thanks for your great work. This is a really good progress. I agree to add
> CompilerIntrinsicsLib in MdePkg.
>
>   I think we can add this CompilerIntrinsicsLib first to meet with current usage. It
> can be extended in future.
>
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Gerd
> > Hoffmann
> > 发送时间: 2022年3月1日 15:18
> > 收件人: devel@edk2.groups.io
> > 抄送: Xiaoyu Lu <xiaoyu1.lu@intel.com>; Bob Feng <bob.c.feng@intel.com>;
> > Rebecca Cran <rebecca@bsdio.com>; James Bottomley
> > <jejb@linux.ibm.com>; Sami Mujawar <Sami.Mujawar@arm.com>; Jordan
> > Justen <jordan.l.justen@intel.com>; Erdem Aktas <erdemaktas@google.com>;
> > Jiewen Yao <jiewen.yao@intel.com>; Supreeth Venkatesh
> > <supreeth.venkatesh@arm.com>; Sebastien Boeuf
> > <sebastien.boeuf@intel.com>; Zhichao Gao <zhichao.gao@intel.com>;
> > Zhiguang Liu <zhiguang.liu@intel.com>; Maciej Rabeda
> > <maciej.rabeda@linux.intel.com>; Maurice Ma <maurice.ma@intel.com>;
> > Andrew Fish <afish@apple.com>; Ard Biesheuvel
> > <ardb+tianocore@kernel.org>; Tom Lendacky <thomas.lendacky@amd.com>;
> > Peter Grehan <grehan@freebsd.org>; Sean Brogan
> > <sean.brogan@microsoft.com>; Guomin Jiang <guomin.jiang@intel.com>;
> > Bret Barkelew <Bret.Barkelew@microsoft.com>; Yuwei Chen
> > <yuwei.chen@intel.com>; Benjamin You <benjamin.you@intel.com>; Daniel
> > Schaefer <daniel.schaefer@hpe.com>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Michael D Kinney
> > <michael.d.kinney@intel.com>; Wei6 Xu <wei6.xu@intel.com>; Jian J Wang
> > <jian.j.wang@intel.com>; Jiaxin Wu <jiaxin.wu@intel.com>; Siyuan Fu
> > <siyuan.fu@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Sami Mujawar
> > <sami.mujawar@arm.com>; Guo Dong <guo.dong@intel.com>;
> > kilian_kegel@hotmail.com; Abner Chang <abner.chang@hpe.com>; Oliver
> > Steffen <osteffen@redhat.com>; Leif Lindholm <quic_llindhol@quicinc.com>;
> > Brijesh Singh <brijesh.singh@amd.com>; Min Xu <min.m.xu@intel.com>; Ray
> > Ni <ray.ni@intel.com>; Alexei Fedorov <Alexei.Fedorov@arm.com>; Julien
> > Grall <julien@xen.org>; Nickle Wang <nickle.wang@hpe.com>; Pawel
> > Polawski <ppolawsk@redhat.com>; Anthony Perard
> > <anthony.perard@citrix.com>
> > 主题: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics
> >
> > This is an attept to start cleaning up the messy compiler intrinsics
> > situation.  Today we don't have a core intrinsics library, resulting
> > in everybody creating their own.  ArmPkg has one, CryptoPkg has one.
> > I'm sure there are many more.
> >
> > This doesn't make sense.  Given we can't avoid compiler intrinsics (as
> > proven by the existence of those libraries) we should better have them
> > as core library so we have to maintain a single version only.
> >
> > Given we already have BaseIoLibIntrinsic in MdePkg we can place the
> > compiler intrinsics there too.  This little patch series does just that:
> > It moves over the existing ArmPkg intrinsics, fixes them to build on
> > non-arm too, and adds additional bits from the CryptoPkg intrinsics.
> >
> > take care,
> >   Gerd
> >
> > Gerd Hoffmann (3):
> >   MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg
> >   MdePkg/CompilerIntrinsicsLib: fix msft sources for x64
> >   MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp
> >
> >  ArmVirtPkg/ArmVirt.dsc.inc                    |   4 +-
> >  .../UnitTestFrameworkPkgTarget.dsc.inc        |   2 +-
> >  ArmPkg/ArmPkg.dsc                             |   3 +-
> >  .../ArmCrashDumpDxe/ArmCrashDumpDxe.dsc       |   2 +-
> >  ArmPlatformPkg/ArmPlatformPkg.dsc             |   2 +-
> >  CryptoPkg/CryptoPkg.dsc                       |   5 +-
> >  DynamicTablesPkg/DynamicTablesPkg.dsc         |   2 +-
> >  EmbeddedPkg/EmbeddedPkg.dsc                   |   2 +-
> >  EmulatorPkg/EmulatorPkg.dsc                   |   2 +-
> >  FatPkg/FatPkg.dsc                             |   2 +-
> >  FmpDevicePkg/FmpDevicePkg.dsc                 |   4 +-
> >  MdeModulePkg/MdeModulePkg.dsc                 |   2 +-
> >  MdePkg/MdePkg.dsc                             |   1 +
> >  NetworkPkg/NetworkPkg.dsc                     |   4 +-
> >  OvmfPkg/AmdSev/AmdSevX64.dsc                  |   2 +-
> >  OvmfPkg/Bhyve/BhyveX64.dsc                    |   2 +-
> >  OvmfPkg/CloudHv/CloudHvX64.dsc                |   2 +-
> >  OvmfPkg/Microvm/MicrovmX64.dsc                |   2 +-
> >  OvmfPkg/OvmfPkgIa32.dsc                       |   2 +-
> >  OvmfPkg/OvmfPkgIa32X64.dsc                    |   2 +-
> >  OvmfPkg/OvmfPkgX64.dsc                        |   2 +-
> >  OvmfPkg/OvmfXen.dsc                           |   2 +-
> >  RedfishPkg/RedfishPkg.dsc                     |   2 +-
> >  SecurityPkg/SecurityPkg.dsc                   |  12 +--
> >  ShellPkg/ShellPkg.dsc                         |   2 +-
> >  SignedCapsulePkg/SignedCapsulePkg.dsc         |  14 ++--
> >  StandaloneMmPkg/StandaloneMmPkg.dsc           |   2 +-
> >  UefiPayloadPkg/UefiPayloadPkg.dsc             |   2 +-
> >  .../Library/IntrinsicLib/IntrinsicLib.inf     |  67 ----------------
> >  .../CompilerIntrinsicsLib.inf                 |  15 +++-
> >  {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h    |   0
> >  CryptoPkg/Library/IntrinsicLib/CopyMem.c      |  47 -----------
> >  .../Library/IntrinsicLib/MemoryIntrinsics.c   |  74 ------------------
> >  .../CompilerIntrinsicsLib}/Ia32/MathFtol.c    |   0
> >  .../Ia32/MathLShiftS64.c                      |   0
> >  .../Ia32/MathRShiftU64.c                      |   0
> >  .../Library/CompilerIntrinsicsLib/memcmp_ms.c |   2 +-
> >  .../Library/CompilerIntrinsicsLib/memcpy.c    |   0
> >  .../Library/CompilerIntrinsicsLib/memcpy_ms.c |   2 +-
> >  .../CompilerIntrinsicsLib/memmove_ms.c        |   2 +-
> >  .../Library/CompilerIntrinsicsLib/memset.c    |   0
> >  .../Library/CompilerIntrinsicsLib/memset_ms.c |   2 +-
> >  MdePkg/Library/CompilerIntrinsicsLib/strcmp.c |  33 ++++++++
> >  ArmPkg/ArmPkg.ci.yaml                         |   1 -
> >  .../DEBUG_XCODE31/CompilerIntrinsicsLib.lib   | Bin 36072 -> 36072
> > bytes
> >  .../DEBUG_XCODE32/CompilerIntrinsicsLib.lib   | Bin 36072 -> 36072
> > bytes
> >  .../Library/IntrinsicLib/BaseIntrinsicLib.uni |  16 ----
> >  .../CompilerIntrinsicsLib/AArch64/Atomics.S   |   0
> >  .../CompilerIntrinsicsLib/Arm/ashldi3.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/ashrdi3.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/clzsi2.S        |   0
> >  .../CompilerIntrinsicsLib/Arm/ctzsi2.S        |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/div.S   |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/div.asm |   0
> >  .../CompilerIntrinsicsLib/Arm/divdi3.S        |   0
> >  .../CompilerIntrinsicsLib/Arm/divsi3.S        |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/lasr.S  |   0
> >  .../CompilerIntrinsicsLib/Arm/lasr.asm        |   0
> >  .../CompilerIntrinsicsLib/Arm/ldivmod.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/ldivmod.asm     |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/llsl.S  |   0
> >  .../CompilerIntrinsicsLib/Arm/llsl.asm        |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/llsr.S  |   0
> >  .../CompilerIntrinsicsLib/Arm/llsr.asm        |   0
> >  .../CompilerIntrinsicsLib/Arm/lshrdi3.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/memmove.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/memmove.asm     |   0
> >  .../CompilerIntrinsicsLib/Arm/moddi3.S        |   0
> >  .../CompilerIntrinsicsLib/Arm/modsi3.S        |   0
> >  .../CompilerIntrinsicsLib/Arm/muldi3.S        |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/mullu.S |   0
> >  .../CompilerIntrinsicsLib/Arm/mullu.asm       |   0
> >  .../CompilerIntrinsicsLib/Arm/sourcery.S      |   0
> >  .../CompilerIntrinsicsLib/Arm/switch.asm      |   0
> >  .../CompilerIntrinsicsLib/Arm/switch16.S      |   0
> >  .../CompilerIntrinsicsLib/Arm/switch32.S      |   0
> >  .../CompilerIntrinsicsLib/Arm/switch8.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/switchu8.S      |   0
> >  .../CompilerIntrinsicsLib/Arm/ucmpdi2.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/udivdi3.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/udivmoddi4.S    |   0
> >  .../CompilerIntrinsicsLib/Arm/udivsi3.S       |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/uldiv.S |   0
> >  .../CompilerIntrinsicsLib/Arm/uldiv.asm       |   0
> >  .../CompilerIntrinsicsLib/Arm/umoddi3.S       |   0
> >  .../CompilerIntrinsicsLib/Arm/umodsi3.S       |   0
> >  .../Library/CompilerIntrinsicsLib/Arm/uread.S |   0
> >  .../CompilerIntrinsicsLib/Arm/uread.asm       |   0
> >  .../CompilerIntrinsicsLib/Arm/uwrite.S        |   0
> >  .../CompilerIntrinsicsLib/Arm/uwrite.asm      |   0
> >  .../Ia32/MathLShiftS64.nasm                   |   0
> >  .../Ia32/MathRShiftU64.nasm                   |   0
> >  MdePkg/MdePkg.ci.yaml                         |   1 +
> >  93 files changed, 95 insertions(+), 254 deletions(-)
> >  delete mode 100644 CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf (84%)
> >  rename {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h (100%)
> >  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%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcmp_ms.c
> > (89%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy.c
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy_ms.c
> > (89%)
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/memmove_ms.c (90%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset.c
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset_ms.c
> > (89%)
> >  create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/strcmp.c
> >  delete mode 100644 CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/AArch64/Atomics.S (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashldi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/clzsi2.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divdi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divsi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.S
> > (100%)
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.asm (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S
> > (100%)
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.S (100%)
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.asm (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/moddi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/modsi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/muldi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/sourcery.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch16.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch32.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch8.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switchu8.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivdi3.S
> > (100%)
> >  rename {ArmPkg =>
> > MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivsi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umoddi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umodsi3.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.asm
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.S
> > (100%)
> >  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
> > (100%)
> >  rename {CryptoPkg/Library/IntrinsicLib =>
> > MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.nasm (100%)
> >  rename {CryptoPkg/Library/IntrinsicLib =>
> > MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.nasm (100%)
> >
> > --
> > 2.35.1
> >
> >
> >
> >
> >
>
>
>
>
>
>
>







[-- Attachment #1.2: Type: text/html, Size: 44463 bytes --]

[-- Attachment #2: FC0F4A4534E04C1A8F77C2AC0BB2E981.png --]
[-- Type: image/png, Size: 102559 bytes --]

  reply	other threads:[~2022-03-02  8:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-01  7:18 [PATCH 0/3] [RFC] consolidate compiler intrinsics Gerd Hoffmann
2022-03-01  7:18 ` [PATCH 1/3] MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg Gerd Hoffmann
2022-03-01  7:18 ` [PATCH 2/3] MdePkg/CompilerIntrinsicsLib: fix msft sources for x64 Gerd Hoffmann
2022-03-01  7:18 ` [PATCH 3/3] MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp Gerd Hoffmann
2022-03-02  2:06 ` 回复: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics gaoliming
2022-03-02  2:16   ` Yao, Jiewen
2022-03-02  8:39     ` Kilian Kegel [this message]
2022-03-02 10:10       ` Gerd Hoffmann
2022-03-02  6:12 ` Ard Biesheuvel
2022-03-15 12:22 ` Gerd Hoffmann
2022-03-15 15:27   ` Michael D Kinney
2022-03-16  9:45     ` [edk2-devel] " Gerd Hoffmann
2022-03-18  1:26       ` 回复: " gaoliming
2022-03-18  1:54         ` Pedro Falcato
2022-03-15 17:08   ` Pedro Falcato
2022-03-16 10:02     ` 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=DBAP190MB095136DF8AE3D871F776D797EB039@DBAP190MB0951.EURP190.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