public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
  2019-03-29  7:28 [PATCH v3 00/12] Remove .S files for IA32 and X64 arch in MdePkg and UefiCpuPkg Shenglei Zhang
@ 2019-03-29  7:28 ` Shenglei Zhang
  0 siblings, 0 replies; 5+ messages in thread
From: Shenglei Zhang @ 2019-03-29  7:28 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ting Ye, Gang Wei, Jian Wang

.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.ye@intel.com>
Cc: Gang Wei <gang.wei@intel.com>
Cc: Jian Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
@ 2019-03-29  7:31 Shenglei Zhang
  2019-03-29  8:33 ` Wang, Jian J
  0 siblings, 1 reply; 5+ messages in thread
From: Shenglei Zhang @ 2019-03-29  7:31 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ting Ye, Gang Wei, Jian Wang

.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.ye@intel.com>
Cc: Gang Wei <gang.wei@intel.com>
Cc: Jian Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
@ 2019-03-29  7:32 Shenglei Zhang
  2019-03-29  8:32 ` Wang, Jian J
  0 siblings, 1 reply; 5+ messages in thread
From: Shenglei Zhang @ 2019-03-29  7:32 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ting Ye, Jian Wang

.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.ye@intel.com>
Cc: Jian Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
  2019-03-29  7:32 Shenglei Zhang
@ 2019-03-29  8:32 ` Wang, Jian J
  0 siblings, 0 replies; 5+ messages in thread
From: Wang, Jian J @ 2019-03-29  8:32 UTC (permalink / raw)
  To: Zhang, Shenglei, edk2-devel@lists.01.org; +Cc: Ye, Ting

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

> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Friday, March 29, 2019 3:32 PM
> To: edk2-devel@lists.01.org
> Cc: Ye, Ting <ting.ye@intel.com>; Wang, Jian J <jian.j.wang@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.ye@intel.com>
> Cc: Jian Wang <jian.j.wang@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Shenglei Zhang <shenglei.zhang@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



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
  2019-03-29  7:31 [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch Shenglei Zhang
@ 2019-03-29  8:33 ` Wang, Jian J
  0 siblings, 0 replies; 5+ messages in thread
From: Wang, Jian J @ 2019-03-29  8:33 UTC (permalink / raw)
  To: Zhang, Shenglei, edk2-devel@lists.01.org; +Cc: Ye, Ting, Gang Wei



Reviewed-by: Jian J Wang <jian.j.wang@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.ye@intel.com>; Gang Wei <gang.wei@intel.com>; Wang, Jian
> J <jian.j.wang@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.ye@intel.com>
> Cc: Gang Wei <gang.wei@intel.com>
> Cc: Jian Wang <jian.j.wang@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Shenglei Zhang <shenglei.zhang@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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-03-29  8:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-29  7:31 [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch Shenglei Zhang
2019-03-29  8:33 ` Wang, Jian J
  -- strict thread matches above, loose matches on Subject: below --
2019-03-29  7:32 Shenglei Zhang
2019-03-29  8:32 ` Wang, Jian J
2019-03-29  7:28 [PATCH v3 00/12] Remove .S files for IA32 and X64 arch in MdePkg and UefiCpuPkg Shenglei Zhang
2019-03-29  7:28 ` [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch Shenglei Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox