Re: [PATCH 0/3] [RFC] consolidate compiler intrinsics

Michael D Kinney

Hi Gerd,

Thanks for working on this. I raised this topic in the new TianoCore build and CI
meeting yesterday because the intrinsic libs are closely tied to the toolchains
supported by TianoCore.

I agree with the concept of moving the compiler intrinsics to a library in the MdePkg.

+ Sean Brogan

Sean mentioned that he has some addition work on intrinsic libs for Visual Studio
toolchains. It would be good to see if this set of changes is aligned with those

I see a few items that might be good to clean up at some point
* fltused should go into its own file. Not related to the strcmp() API
* I see size_t defined in multiple places using different mappings. Would be good to
define that in a single location.

Best regards,


-----Original Message-----
From: Gerd Hoffmann <kraxel@...>
Sent: Tuesday, March 15, 2022 5:23 AM
Cc: Lu, Xiaoyu1 <>; Feng, Bob C <bob.c.feng@...>; Rebecca Cran <rebecca@...>; James
Bottomley <jejb@...>; Sami Mujawar <Sami.Mujawar@...>; Justen, Jordan L <jordan.l.justen@...>; Aktas,
Erdem <erdemaktas@...>; Yao, Jiewen <jiewen.yao@...>; Supreeth Venkatesh <supreeth.venkatesh@...>; Boeuf,
Sebastien <sebastien.boeuf@...>; Gao, Zhichao <zhichao.gao@...>; Liu, Zhiguang <zhiguang.liu@...>; Maciej
Rabeda <maciej.rabeda@...>; Ma, Maurice <>; Andrew Fish <afish@...>; Ard Biesheuvel
<ardb+tianocore@...>; Tom Lendacky <thomas.lendacky@...>; Peter Grehan <grehan@...>; Sean Brogan
<sean.brogan@...>; Jiang, Guomin <guomin.jiang@...>; Bret Barkelew <Bret.Barkelew@...>; Chen,
Christine <yuwei.chen@...>; You, Benjamin <>; Schaefer, Daniel <daniel.schaefer@...>; Gao,
Liming <gaoliming@...>; Kinney, Michael D <michael.d.kinney@...>; Xu, Wei6 <wei6.xu@...>; Wang, Jian
J <>; Wu, Jiaxin <jiaxin.wu@...>; Fu, Siyuan <siyuan.fu@...>; Dong, Guo
<guo.dong@...>; kilian_kegel@...; Chang, Abner <abner.chang@...>; Oliver Steffen <osteffen@...>;
Leif Lindholm <quic_llindhol@...>; Brijesh Singh <brijesh.singh@...>; Xu, Min M <min.m.xu@...>; Ni, Ray
<>; Alexei Fedorov <Alexei.Fedorov@...>; Julien Grall <julien@...>; Wang, Nickle
<>; Pawel Polawski <ppolawsk@...>; Anthony Perard <anthony.perard@...>
Subject: Re: [PATCH 0/3] [RFC] consolidate compiler intrinsics

On Tue, Mar 01, 2022 at 08:18:17AM +0100, Gerd Hoffmann wrote:
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.
Ping. How go forward with this? I've posted it as RFC because
I expected a more controversial discussion. But seems everybody
agrees this is a step into the right direction.

So just merge this as-is?

Yes, it passed CI (

take care,

Join to automatically receive all group messages.