]> git.proxmox.com Git - mirror_edk2.git/commit - MdePkg/Library/BaseSynchronizationLib/Ia32/GccInline.c
MdePkg/BaseSynchronizationLib GCC: simplify IA32 InternalSyncCompareExchange64()
authorLaszlo Ersek <lersek@redhat.com>
Sat, 29 Sep 2018 21:13:47 +0000 (23:13 +0200)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 17 Oct 2018 16:44:51 +0000 (18:44 +0200)
commit3a0329bed2a2c7d1ba45bd2376a2320141ef2bec
treea403aa16e5143b4cbcd4d19ff4c848b0270fc779
parente5d4e7500fc92475d079d16846671ecbbb08e8af
MdePkg/BaseSynchronizationLib GCC: simplify IA32 InternalSyncCompareExchange64()

The IA32 variant of InternalSyncCompareExchange64() is correct, but we can
simplify it. We don't need to load the lower 32 bits of ExchangeValue into
EBX in two steps (first into a general register, then into EBX); we can
ask GCC to populate EBX like that itself.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1208
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
MdePkg/Library/BaseSynchronizationLib/Ia32/GccInline.c