Reviewed-by: Jian J Wang <jian.j.w...@intel.com>


> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Friday, March 29, 2019 3:31 PM
> To: edk2-devel@lists.01.org
> Cc: Ye, Ting <ting...@intel.com>; Gang Wei <gang....@intel.com>; Wang, Jian
> J <jian.j.w...@intel.com>
> Subject: [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 
> arch
> 
> .nasm file has been added for X86 arch. .S assembly code
> is not required any more.
> https://bugzilla.tianocore.org/show_bug.cgi?id=1594
> 
> Cc: Ting Ye <ting...@intel.com>
> Cc: Gang Wei <gang....@intel.com>
> Cc: Jian Wang <jian.j.w...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Shenglei Zhang <shenglei.zh...@intel.com>
> ---
>  .../Library/IntrinsicLib/Ia32/MathLShiftS64.S | 62 -----------------
>  .../Library/IntrinsicLib/Ia32/MathRShiftU64.S | 66 -------------------
>  .../Library/IntrinsicLib/IntrinsicLib.inf     |  2 -
>  3 files changed, 130 deletions(-)
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
> 
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
> b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
> deleted file mode 100644
> index 7031a59a71..0000000000
> --- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -#------------------------------------------------------------------------------
> -#
> -# Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
> -# This program and the accompanying materials
> -# are licensed and made available under the terms and conditions of the BSD
> License
> -# which accompanies this distribution.  The full text of the license may be 
> found
> at
> -# http://opensource.org/licenses/bsd-license.php.
> -#
> -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
> BASIS,
> -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER
> EXPRESS OR IMPLIED.
> -#
> -# Module Name:
> -#
> -#   MathLShiftS64.S
> -#
> -# Abstract:
> -#
> -#   64-bit Math Worker Function.
> -#   Shifts a 64-bit signed value left by a certain number of bits.
> -#
> -#------------------------------------------------------------------------------
> -
> -    .686:
> -    .code:
> -
> -ASM_GLOBAL ASM_PFX(__ashldi3)
> -
> -#------------------------------------------------------------------------------
> -#
> -# void __cdecl __ashldi3 (void)
> -#
> -#------------------------------------------------------------------------------
> -ASM_PFX(__ashldi3):
> -    #
> -    # Handle shifting of 64 or more bits (return 0)
> -    #
> -    cmpb    $64, %cl
> -    jae     ReturnZero
> -
> -    #
> -    # Handle shifting of between 0 and 31 bits
> -    #
> -    cmpb    $32, %cl
> -    jae     More32
> -    shld    %cl, %eax, %edx
> -    shl     %cl, %eax
> -    ret
> -
> -    #
> -    # Handle shifting of between 32 and 63 bits
> -    #
> -More32:
> -    movl    %eax, %edx
> -    xor     %eax, %eax
> -    and     $31, %cl
> -    shl     %cl, %edx
> -    ret
> -
> -ReturnZero:
> -    xor     %eax, %eax
> -    xor     %edx, %edx
> -    ret
> diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
> b/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
> deleted file mode 100644
> index 24142b088e..0000000000
> --- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -#------------------------------------------------------------------------------
> -#
> -# Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
> -# This program and the accompanying materials
> -# are licensed and made available under the terms and conditions of the BSD
> License
> -# which accompanies this distribution.  The full text of the license may be 
> found
> at
> -# http://opensource.org/licenses/bsd-license.php.
> -#
> -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
> BASIS,
> -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER
> EXPRESS OR IMPLIED.
> -#
> -# Module Name:
> -#
> -#   MathRShiftU64.S
> -#
> -# Abstract:
> -#
> -#   64-bit Math Worker Function.
> -#   Shifts a 64-bit unsigned value right by a certain number of bits.
> -#
> -#------------------------------------------------------------------------------
> -
> -
> -    .686:
> -    .code:
> -
> -ASM_GLOBAL ASM_PFX(__ashrdi3)
> -
> -#------------------------------------------------------------------------------
> -#
> -# void __cdecl __ashrdi3 (void)
> -#
> -#------------------------------------------------------------------------------
> -ASM_PFX(__ashrdi3):
> -    #
> -    # Checking: Only handle 64bit shifting or more
> -    #
> -    cmpb    $64, %cl
> -    jae     _Exit
> -
> -    #
> -    # Handle shifting between 0 and 31 bits
> -    #
> -    cmpb    $32, %cl
> -    jae     More32
> -    shrd    %cl, %edx, %eax
> -    shr     %cl, %edx
> -    ret
> -
> -    #
> -    # Handle shifting of 32-63 bits
> -    #
> -More32:
> -    movl    %edx, %eax
> -    xor     %edx, %edx
> -    and     $31, %cl
> -    shr     %cl, %eax
> -    ret
> -
> -    #
> -    # Invalid number (less then 32bits), return 0
> -    #
> -_Exit:
> -    xor     %eax, %eax
> -    xor     %edx, %edx
> -    ret
> diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> index a91c850013..9704b9ea7d 100644
> --- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> +++ b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> @@ -39,8 +39,6 @@
>    Ia32/MathLShiftS64.c      | INTEL
>    Ia32/MathRShiftU64.c      | INTEL
> 
> -  Ia32/MathLShiftS64.S      | GCC
> -  Ia32/MathRShiftU64.S      | GCC
>    Ia32/MathLShiftS64.nasm   | GCC
>    Ia32/MathRShiftU64.nasm   | GCC
> 
> --
> 2.18.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to