From 9bdda4c03597de873dd5e4e26b229aa7f6d73246 Mon Sep 17 00:00:00 2001 From: Jonas Schneider-Bensch Date: Tue, 10 Sep 2024 15:48:03 +0200 Subject: [PATCH] hax-compatibility: cast match scrutinees --- libcrux-ml-dsa/src/simd/avx2/encoding/commitment.rs | 2 +- libcrux-ml-dsa/src/simd/avx2/encoding/error.rs | 4 ++-- libcrux-ml-dsa/src/simd/avx2/encoding/gamma1.rs | 4 ++-- .../src/simd/avx2/rejection_sample/less_than_eta.rs | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libcrux-ml-dsa/src/simd/avx2/encoding/commitment.rs b/libcrux-ml-dsa/src/simd/avx2/encoding/commitment.rs index 033fcf05e..c8a3e40a1 100644 --- a/libcrux-ml-dsa/src/simd/avx2/encoding/commitment.rs +++ b/libcrux-ml-dsa/src/simd/avx2/encoding/commitment.rs @@ -4,7 +4,7 @@ use libcrux_intrinsics::avx2::*; pub fn serialize(simd_unit: Vec256) -> [u8; OUTPUT_SIZE] { let mut serialized = [0u8; 19]; - match OUTPUT_SIZE { + match OUTPUT_SIZE as u8 { 4 => { let adjacent_2_combined = mm256_sllv_epi32(simd_unit, mm256_set_epi32(0, 28, 0, 28, 0, 28, 0, 28)); diff --git a/libcrux-ml-dsa/src/simd/avx2/encoding/error.rs b/libcrux-ml-dsa/src/simd/avx2/encoding/error.rs index 828bc2135..0d9095166 100644 --- a/libcrux-ml-dsa/src/simd/avx2/encoding/error.rs +++ b/libcrux-ml-dsa/src/simd/avx2/encoding/error.rs @@ -65,7 +65,7 @@ fn serialize_when_eta_is_4(simd_unit: Vec256) -> [u8; } #[inline(always)] pub fn serialize(simd_unit: Vec256) -> [u8; OUTPUT_SIZE] { - match OUTPUT_SIZE { + match OUTPUT_SIZE as u8 { 3 => serialize_when_eta_is_2::(simd_unit), 4 => serialize_when_eta_is_4::(simd_unit), _ => unreachable!(), @@ -118,7 +118,7 @@ fn deserialize_to_unsigned_when_eta_is_4(bytes: &[u8]) -> Vec256 { } #[inline(always)] pub(crate) fn deserialize_to_unsigned(serialized: &[u8]) -> Vec256 { - match ETA { + match ETA as u8 { 2 => deserialize_to_unsigned_when_eta_is_2(serialized), 4 => deserialize_to_unsigned_when_eta_is_4(serialized), _ => unreachable!(), diff --git a/libcrux-ml-dsa/src/simd/avx2/encoding/gamma1.rs b/libcrux-ml-dsa/src/simd/avx2/encoding/gamma1.rs index 38296f225..80b666707 100644 --- a/libcrux-ml-dsa/src/simd/avx2/encoding/gamma1.rs +++ b/libcrux-ml-dsa/src/simd/avx2/encoding/gamma1.rs @@ -66,7 +66,7 @@ fn serialize_when_gamma1_is_2_pow_19( #[inline(always)] pub(crate) fn serialize(simd_unit: Vec256) -> [u8; OUTPUT_SIZE] { - match OUTPUT_SIZE { + match OUTPUT_SIZE as u8 { 18 => serialize_when_gamma1_is_2_pow_17::(simd_unit), 20 => serialize_when_gamma1_is_2_pow_19::(simd_unit), _ => unreachable!(), @@ -130,7 +130,7 @@ fn deserialize_when_gamma1_is_2_pow_19(serialized: &[u8]) -> Vec256 { #[inline(always)] pub(crate) fn deserialize(serialized: &[u8]) -> Vec256 { - match GAMMA1_EXPONENT { + match GAMMA1_EXPONENT as u8 { 17 => deserialize_when_gamma1_is_2_pow_17(serialized), 19 => deserialize_when_gamma1_is_2_pow_19(serialized), _ => unreachable!(), diff --git a/libcrux-ml-dsa/src/simd/avx2/rejection_sample/less_than_eta.rs b/libcrux-ml-dsa/src/simd/avx2/rejection_sample/less_than_eta.rs index cd0f5b05d..052a6b855 100644 --- a/libcrux-ml-dsa/src/simd/avx2/rejection_sample/less_than_eta.rs +++ b/libcrux-ml-dsa/src/simd/avx2/rejection_sample/less_than_eta.rs @@ -7,7 +7,7 @@ use libcrux_intrinsics::avx2::*; #[inline(always)] fn shift_interval(coefficients: Vec256) -> Vec256 { - match ETA { + match ETA as u8 { 2 => { let quotient = mm256_mullo_epi32(coefficients, mm256_set1_epi32(26)); let quotient = mm256_srai_epi32::<7>(quotient); @@ -29,7 +29,7 @@ pub(crate) fn sample(input: &[u8], output: &mut [i32]) -> usiz // values that are 4-bits wide. let potential_coefficients = encoding::error::deserialize_to_unsigned::<4>(input); - let interval_boundary: i32 = match ETA { + let interval_boundary: i32 = match ETA as u8 { 2 => 15, 4 => 9, _ => unreachable!(),