libxcrypt/upstream-Fix-warning-about-signed-unsigned-conversion.patch
Chenxi Mao f206415294 Fix build error if AVX2 enabled
Below build error found if AVX2 enabled:

[   17s] lib/alg-yescrypt-opt.c:517:33: error: conversion to 'long long unsigned int' from 'long long int' may change the sign of the result [-Werror=sign-conversion]
[   17s]   517 |  uint32_t lo = x = EXTRACT64(X) & Smask2reg; \

Cherry pick upstream patches to fix this error.

Signed-off-by: Chenxi Mao <chenxi.mao@suse.com>
2023-06-09 15:31:44 +08:00

26 lines
816 B
Diff

From 17cf4ce8af5a2a1af4c0f52260019cbae01835b8 Mon Sep 17 00:00:00 2001
From: Moinak Bhattacharyya <moinakb001@gmail.com>
Date: Tue, 8 Nov 2022 04:37:13 -0600
Subject: [PATCH 1/1] Fix warning about signed->unsigned conversion
---
lib/alg-yescrypt-opt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/alg-yescrypt-opt.c b/lib/alg-yescrypt-opt.c
index dacc73b..a33c6e4 100644
--- a/lib/alg-yescrypt-opt.c
+++ b/lib/alg-yescrypt-opt.c
@@ -514,7 +514,7 @@ static volatile uint64_t Smask2var = Smask2;
#define PWXFORM_SIMD(X) { \
uint64_t x; \
FORCE_REGALLOC_1 \
- uint32_t lo = (uint32_t)(x = EXTRACT64(X) & Smask2reg); \
+ uint32_t lo = (uint32_t)(x = ((uint64_t)EXTRACT64(X)) & Smask2reg); \
FORCE_REGALLOC_2 \
uint32_t hi = x >> 32; \
X = _mm_mul_epu32(HI32(X), X); \
--
2.33.0