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>
26 lines
816 B
Diff
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
|
|
|