* [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 [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch 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 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:32 [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch Shenglei Zhang
2019-03-29 8:32 ` Wang, Jian J
-- strict thread matches above, loose matches on Subject: below --
2019-03-29 7:31 Shenglei Zhang
2019-03-29 8:33 ` 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