[INFO] fetching crate opengm_crypto 0.1.0... [INFO] checking opengm_crypto-0.1.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate opengm_crypto 0.1.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate opengm_crypto 0.1.0 [INFO] finished tweaking crates.io crate opengm_crypto 0.1.0 [INFO] tweaked toml for crates.io crate opengm_crypto 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate opengm_crypto 0.1.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate opengm_crypto 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dtor v0.0.4 [INFO] [stderr] Downloaded hex-literal v1.0.0 [INFO] [stderr] Downloaded ctor v0.4.0 [INFO] [stderr] Downloaded gmp-mpfr-sys v1.6.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 46b0d90878f2741c5467c40fccb741ce024c93d611d0c2e17bbb265b64c6d168 [INFO] running `Command { std: "docker" "start" "-a" "46b0d90878f2741c5467c40fccb741ce024c93d611d0c2e17bbb265b64c6d168", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "46b0d90878f2741c5467c40fccb741ce024c93d611d0c2e17bbb265b64c6d168", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46b0d90878f2741c5467c40fccb741ce024c93d611d0c2e17bbb265b64c6d168", kill_on_drop: false }` [INFO] [stdout] 46b0d90878f2741c5467c40fccb741ce024c93d611d0c2e17bbb265b64c6d168 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 200c5035da082150f1efe8959bd2a8840c61925c6c0616e70f7e7c0722dc2790 [INFO] running `Command { std: "docker" "start" "-a" "200c5035da082150f1efe8959bd2a8840c61925c6c0616e70f7e7c0722dc2790", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling zerocopy v0.8.23 [INFO] [stderr] Compiling dtor-proc-macro v0.0.5 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling ctor-proc-macro v0.0.5 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking hex-literal v1.0.0 [INFO] [stderr] Checking dtor v0.0.4 [INFO] [stderr] Checking ctor v0.4.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.0 [INFO] [stderr] Checking opengm_crypto v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:54 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:60 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:66 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:72 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:78 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:84 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:90 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:96 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter::zip` [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | use core::{iter::zip, mem::transmute}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch::asm` [INFO] [stdout] --> src/sm2/ec/arith.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use core::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:54 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:60 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:66 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `a` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:72 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `a0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:78 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:84 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:90 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `b` in this scope [INFO] [stdout] --> src/sm2/ec/arith.rs:188:96 [INFO] [stdout] | [INFO] [stdout] 188 | let (acc0, acc1, acc2, acc3, carry) = add256(a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `b0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `avx512_target_feature` has been stable since 1.89.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | feature(avx512_target_feature), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `slice_as_chunks` has been stable since 1.88.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | #![feature(slice_as_chunks)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `stdarch_x86_avx512` has been stable since 1.89.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | feature(stdarch_x86_avx512), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RngCore` and `thread_rng` [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:275:16 [INFO] [stdout] | [INFO] [stdout] 275 | use rand::{thread_rng, RngCore}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:433:28 [INFO] [stdout] | [INFO] [stdout] 433 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter::zip` [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | use core::{iter::zip, mem::transmute}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch::asm` [INFO] [stdout] --> src/sm2/ec/arith.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use core::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `avx512_target_feature` has been stable since 1.89.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | feature(avx512_target_feature), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `slice_as_chunks` has been stable since 1.88.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | #![feature(slice_as_chunks)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `stdarch_x86_avx512` has been stable since 1.89.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | feature(stdarch_x86_avx512), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng` [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:275:16 [INFO] [stdout] | [INFO] [stdout] 275 | use rand::{thread_rng, RngCore}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng` [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:279:16 [INFO] [stdout] | [INFO] [stdout] 279 | use rand::{thread_rng, RngCore}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng` [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | thread_rng().fill_bytes(&mut p); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng` [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | thread_rng().try_fill(&mut msg[..]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng` [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:433:16 [INFO] [stdout] | [INFO] [stdout] 433 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/block_avx512.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | let l = _mm512_i32gather_epi32::<4>(l, LTAU_TABLE16.as_ptr() as *const u8); [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i32`, found `*const u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const i32` [INFO] [stdout] found raw pointer `*const u8` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:16744:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/block_avx512.rs:40:48 [INFO] [stdout] | [INFO] [stdout] 40 | let h = _mm512_i32gather_epi32::<4>(h, LTAU_TABLE16.as_ptr() as *const u8); [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i32`, found `*const u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const i32` [INFO] [stdout] found raw pointer `*const u8` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:16744:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/block_avx512.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | let l = _mm512_i32gather_epi32::<4>(l, LTAU_TABLE16.as_ptr() as *const u8); [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i32`, found `*const u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const i32` [INFO] [stdout] found raw pointer `*const u8` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:16744:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/block_avx512.rs:40:48 [INFO] [stdout] | [INFO] [stdout] 40 | let h = _mm512_i32gather_epi32::<4>(h, LTAU_TABLE16.as_ptr() as *const u8); [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i32`, found `*const u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const i32` [INFO] [stdout] found raw pointer `*const u8` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:16744:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:208:33 [INFO] [stdout] | [INFO] [stdout] 208 | _mm512_storeu_si512(va.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(a, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:209:33 [INFO] [stdout] | [INFO] [stdout] 209 | _mm512_storeu_si512(vb.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(b, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:210:33 [INFO] [stdout] | [INFO] [stdout] 210 | _mm512_storeu_si512(vc.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(c, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:211:33 [INFO] [stdout] | [INFO] [stdout] 211 | _mm512_storeu_si512(vd.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(d, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:208:33 [INFO] [stdout] | [INFO] [stdout] 208 | _mm512_storeu_si512(va.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(a, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:209:33 [INFO] [stdout] | [INFO] [stdout] 209 | _mm512_storeu_si512(vb.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(b, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:210:33 [INFO] [stdout] | [INFO] [stdout] 210 | _mm512_storeu_si512(vc.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(c, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:211:33 [INFO] [stdout] | [INFO] [stdout] 211 | _mm512_storeu_si512(vd.as_mut_ptr() as *mut i32, _mm512_shuffle_epi8(d, FLP32)); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34469:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:107:41 [INFO] [stdout] | [INFO] [stdout] 107 | let t0 = _mm512_loadu_si512(chunk.as_ptr() as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:108:41 [INFO] [stdout] | [INFO] [stdout] 108 | let t1 = _mm512_loadu_si512(chunk.as_ptr().offset(64) as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:109:41 [INFO] [stdout] | [INFO] [stdout] 109 | let t2 = _mm512_loadu_si512(chunk.as_ptr().offset(128) as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:110:41 [INFO] [stdout] | [INFO] [stdout] 110 | let t3 = _mm512_loadu_si512(chunk.as_ptr().offset(192) as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | _mm512_store_si512(w.as_ptr() as *mut i32, w0); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:164:32 [INFO] [stdout] | [INFO] [stdout] 164 | _mm512_store_si512(w.as_ptr().offset(16) as *mut i32, w1); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:165:32 [INFO] [stdout] | [INFO] [stdout] 165 | _mm512_store_si512(w.as_ptr().offset(32) as *mut i32, w2); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:166:32 [INFO] [stdout] | [INFO] [stdout] 166 | _mm512_store_si512(w.as_ptr().offset(48) as *mut i32, w3); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | _mm512_store_si512(w.as_ptr().offset(64) as *mut i32, w4); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:168:32 [INFO] [stdout] | [INFO] [stdout] 168 | _mm512_store_si512(w.as_ptr().offset(80) as *mut i32, w5); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:179:36 [INFO] [stdout] | [INFO] [stdout] 179 | _mm512_store_si512(w.as_ptr().offset(offset) as *mut i32, w0); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:180:36 [INFO] [stdout] | [INFO] [stdout] 180 | _mm512_store_si512(w.as_ptr().offset(offset + 16) as *mut i32, w1); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:181:36 [INFO] [stdout] | [INFO] [stdout] 181 | _mm512_store_si512(w.as_ptr().offset(offset + 32) as *mut i32, w2); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:182:36 [INFO] [stdout] | [INFO] [stdout] 182 | _mm512_store_si512(w.as_ptr().offset(offset + 48) as *mut i32, w3); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:183:36 [INFO] [stdout] | [INFO] [stdout] 183 | _mm512_store_si512(w.as_ptr().offset(offset + 64) as *mut i32, w4); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:184:36 [INFO] [stdout] | [INFO] [stdout] 184 | _mm512_store_si512(w.as_ptr().offset(offset + 80) as *mut i32, w5); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:107:41 [INFO] [stdout] | [INFO] [stdout] 107 | let t0 = _mm512_loadu_si512(chunk.as_ptr() as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:108:41 [INFO] [stdout] | [INFO] [stdout] 108 | let t1 = _mm512_loadu_si512(chunk.as_ptr().offset(64) as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:109:41 [INFO] [stdout] | [INFO] [stdout] 109 | let t2 = _mm512_loadu_si512(chunk.as_ptr().offset(128) as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:110:41 [INFO] [stdout] | [INFO] [stdout] 110 | let t3 = _mm512_loadu_si512(chunk.as_ptr().offset(192) as *const i32); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const __m512i`, found `*const i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*const core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*const i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34458:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | _mm512_store_si512(w.as_ptr() as *mut i32, w0); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:164:32 [INFO] [stdout] | [INFO] [stdout] 164 | _mm512_store_si512(w.as_ptr().offset(16) as *mut i32, w1); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:165:32 [INFO] [stdout] | [INFO] [stdout] 165 | _mm512_store_si512(w.as_ptr().offset(32) as *mut i32, w2); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:166:32 [INFO] [stdout] | [INFO] [stdout] 166 | _mm512_store_si512(w.as_ptr().offset(48) as *mut i32, w3); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | _mm512_store_si512(w.as_ptr().offset(64) as *mut i32, w4); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:168:32 [INFO] [stdout] | [INFO] [stdout] 168 | _mm512_store_si512(w.as_ptr().offset(80) as *mut i32, w5); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:179:36 [INFO] [stdout] | [INFO] [stdout] 179 | _mm512_store_si512(w.as_ptr().offset(offset) as *mut i32, w0); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:180:36 [INFO] [stdout] | [INFO] [stdout] 180 | _mm512_store_si512(w.as_ptr().offset(offset + 16) as *mut i32, w1); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:181:36 [INFO] [stdout] | [INFO] [stdout] 181 | _mm512_store_si512(w.as_ptr().offset(offset + 32) as *mut i32, w2); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:182:36 [INFO] [stdout] | [INFO] [stdout] 182 | _mm512_store_si512(w.as_ptr().offset(offset + 48) as *mut i32, w3); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:183:36 [INFO] [stdout] | [INFO] [stdout] 183 | _mm512_store_si512(w.as_ptr().offset(offset + 64) as *mut i32, w4); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:184:36 [INFO] [stdout] | [INFO] [stdout] 184 | _mm512_store_si512(w.as_ptr().offset(offset + 80) as *mut i32, w5); [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut __m512i`, found `*mut i32` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut core::arch::x86_64::__m512i` [INFO] [stdout] found raw pointer `*mut i32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/../../stdarch/crates/core_arch/src/x86/avx512f.rs:34549:15 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `try_fill` found for struct `ThreadRng` in the current scope [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:362:22 [INFO] [stdout] | [INFO] [stdout] 362 | thread_rng().try_fill(&mut msg[..]).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `fill` with a similar name [INFO] [stdout] | [INFO] [stdout] 362 - thread_rng().try_fill(&mut msg[..]).unwrap(); [INFO] [stdout] 362 + thread_rng().fill(&mut msg[..]).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm2/ec/arith.rs:189:52 [INFO] [stdout] | [INFO] [stdout] 189 | sub256_conditional(acc0, acc1, acc2, acc3, carry,m0, m1, m2,m3) [INFO] [stdout] | ------------------ ^^^^^ expected `u64`, found `bool` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/sm2/ec/arith.rs:206:8 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn sub256_conditional(a0: LIMB, a1: LIMB, a2: LIMB, a3: LIMB, carry: LIMB, m0: LIMB, m1: LIMB, m2: LIMB, m3: LIMB) -> (LIMB, LIMB, LI... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ----------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sm2/ec/arith.rs:189:52 [INFO] [stdout] | [INFO] [stdout] 189 | sub256_conditional(acc0, acc1, acc2, acc3, carry,m0, m1, m2,m3) [INFO] [stdout] | ------------------ ^^^^^ expected `u64`, found `bool` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/sm2/ec/arith.rs:206:8 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn sub256_conditional(a0: LIMB, a1: LIMB, a2: LIMB, a3: LIMB, carry: LIMB, m0: LIMB, m1: LIMB, m2: LIMB, m3: LIMB) -> (LIMB, LIMB, LI... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ----------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let a = round_aesni(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | / unsafe fn round4_aesni( [INFO] [stdout] 60 | | a: __m128i, [INFO] [stdout] 61 | | b: __m128i, [INFO] [stdout] 62 | | c: __m128i, [INFO] [stdout] 63 | | d: __m128i, [INFO] [stdout] 64 | | rk: [__m128i; 4], [INFO] [stdout] 65 | | ) -> (__m128i, __m128i, __m128i, __m128i) { [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let b = round_aesni(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | let c = round_aesni(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let d = round_aesni(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn unsafe_block4_aesni(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:95:24 [INFO] [stdout] | [INFO] [stdout] 95 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:99:24 [INFO] [stdout] | [INFO] [stdout] 99 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:100:24 [INFO] [stdout] | [INFO] [stdout] 100 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:101:24 [INFO] [stdout] | [INFO] [stdout] 101 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:115:24 [INFO] [stdout] | [INFO] [stdout] 115 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | unsafe fn unsafe_block4_aesni_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:116:24 [INFO] [stdout] | [INFO] [stdout] 116 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:117:24 [INFO] [stdout] | [INFO] [stdout] 117 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:118:24 [INFO] [stdout] | [INFO] [stdout] 118 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:120:24 [INFO] [stdout] | [INFO] [stdout] 120 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:122:24 [INFO] [stdout] | [INFO] [stdout] 122 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | unsafe fn round_gfni(a: __m512i, b: __m512i, c: __m512i, d: __m512i, rk: __m512i) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:62:38 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:62:55 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_gf2p8affine_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | t = _mm512_gf2p8affine_epi64_epi8::(t, M1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_gf2p8affineinv_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | t = _mm512_gf2p8affineinv_epi64_epi8::(t, M3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let mut y = _mm512_xor_si512(t, _mm512_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:66:41 [INFO] [stdout] | [INFO] [stdout] 66 | let mut y = _mm512_xor_si512(t, _mm512_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:67:33 [INFO] [stdout] | [INFO] [stdout] 67 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | y = _mm512_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | / _mm512_xor_si512( [INFO] [stdout] 70 | | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] 71 | | a, [INFO] [stdout] 72 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:70:47 [INFO] [stdout] | [INFO] [stdout] 70 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | let a = round_gfni(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | / unsafe fn round4_gfni( [INFO] [stdout] 77 | | a: __m512i, [INFO] [stdout] 78 | | b: __m512i, [INFO] [stdout] 79 | | c: __m512i, [INFO] [stdout] 80 | | d: __m512i, [INFO] [stdout] 81 | | rk: [__m512i; 4], [INFO] [stdout] 82 | | ) -> (__m512i, __m512i, __m512i, __m512i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let b = round_gfni(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | let c = round_gfni(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let d = round_gfni(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | unsafe fn unsafe_block16_gfni(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:111:28 [INFO] [stdout] | [INFO] [stdout] 111 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:112:28 [INFO] [stdout] | [INFO] [stdout] 112 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:113:28 [INFO] [stdout] | [INFO] [stdout] 113 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:114:28 [INFO] [stdout] | [INFO] [stdout] 114 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:116:28 [INFO] [stdout] | [INFO] [stdout] 116 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:117:28 [INFO] [stdout] | [INFO] [stdout] 117 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | let mut t = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | / unsafe fn round_gfni( [INFO] [stdout] 183 | | a: __m256i, [INFO] [stdout] 184 | | b: __m256i, [INFO] [stdout] 185 | | c: __m256i, [INFO] [stdout] 186 | | d: __m256i, [INFO] [stdout] 187 | | rk: __m256i, [INFO] [stdout] 188 | | ) -> __m256i { [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:189:38 [INFO] [stdout] | [INFO] [stdout] 189 | let mut t = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:189:55 [INFO] [stdout] | [INFO] [stdout] 189 | let mut t = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_gf2p8affine_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | t = _mm256_gf2p8affine_epi64_epi8::(t, M1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_gf2p8affineinv_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | t = _mm256_gf2p8affineinv_epi64_epi8::(t, M3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | let mut y = _mm256_xor_si256(t, _mm256_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:193:41 [INFO] [stdout] | [INFO] [stdout] 193 | let mut y = _mm256_xor_si256(t, _mm256_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:194:33 [INFO] [stdout] | [INFO] [stdout] 194 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | y = _mm256_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: avx512f and avx512vl [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | / _mm256_xor_si256( [INFO] [stdout] 197 | | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] 198 | | a, [INFO] [stdout] 199 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:197:30 [INFO] [stdout] | [INFO] [stdout] 197 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:197:47 [INFO] [stdout] | [INFO] [stdout] 197 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | let a = round_gfni(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | / unsafe fn round4_gfni( [INFO] [stdout] 204 | | a: __m256i, [INFO] [stdout] 205 | | b: __m256i, [INFO] [stdout] 206 | | c: __m256i, [INFO] [stdout] 207 | | d: __m256i, [INFO] [stdout] 208 | | rk: [__m256i; 4], [INFO] [stdout] 209 | | ) -> (__m256i, __m256i, __m256i, __m256i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:211:17 [INFO] [stdout] | [INFO] [stdout] 211 | let b = round_gfni(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | let c = round_gfni(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | let d = round_gfni(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | unsafe fn unsafe_block8_gfni(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:239:28 [INFO] [stdout] | [INFO] [stdout] 239 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:241:28 [INFO] [stdout] | [INFO] [stdout] 241 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:244:28 [INFO] [stdout] | [INFO] [stdout] 244 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:245:28 [INFO] [stdout] | [INFO] [stdout] 245 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:259:28 [INFO] [stdout] | [INFO] [stdout] 259 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | unsafe fn unsafe_block8_gfni_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:260:28 [INFO] [stdout] | [INFO] [stdout] 260 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:261:28 [INFO] [stdout] | [INFO] [stdout] 261 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:262:28 [INFO] [stdout] | [INFO] [stdout] 262 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:263:28 [INFO] [stdout] | [INFO] [stdout] 263 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:264:28 [INFO] [stdout] | [INFO] [stdout] 264 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:265:28 [INFO] [stdout] | [INFO] [stdout] 265 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:266:28 [INFO] [stdout] | [INFO] [stdout] 266 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | let mut x = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | unsafe fn round_vaes(a: __m512i, b: __m512i, c: __m512i, d: __m512i, rk: __m512i) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | let mut x = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:137:55 [INFO] [stdout] | [INFO] [stdout] 137 | let mut x = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | let mut y = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | y = _mm512_shuffle_epi8(M1L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | x = _mm512_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | x = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:144:30 [INFO] [stdout] | [INFO] [stdout] 144 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | x = _mm512_shuffle_epi8(x, SHR); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_aesenclast_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | x = _mm512_aesenclast_epi128(x, ZERO); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: vaes and avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | y = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | y = _mm512_shuffle_epi8(M2L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | x = _mm512_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | x = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:155:30 [INFO] [stdout] | [INFO] [stdout] 155 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:157:21 [INFO] [stdout] | [INFO] [stdout] 157 | let mut y = _mm512_xor_si512(x, _mm512_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:157:41 [INFO] [stdout] | [INFO] [stdout] 157 | let mut y = _mm512_xor_si512(x, _mm512_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:158:33 [INFO] [stdout] | [INFO] [stdout] 158 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | y = _mm512_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | / _mm512_xor_si512( [INFO] [stdout] 161 | | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] 162 | | a, [INFO] [stdout] 163 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:161:30 [INFO] [stdout] | [INFO] [stdout] 161 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:161:47 [INFO] [stdout] | [INFO] [stdout] 161 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | let a = round_vaes(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | / unsafe fn round4_vaes( [INFO] [stdout] 168 | | a: __m512i, [INFO] [stdout] 169 | | b: __m512i, [INFO] [stdout] 170 | | c: __m512i, [INFO] [stdout] 171 | | d: __m512i, [INFO] [stdout] 172 | | rk: [__m512i; 4], [INFO] [stdout] 173 | | ) -> (__m512i, __m512i, __m512i, __m512i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | let b = round_vaes(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let c = round_vaes(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | let d = round_vaes(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:201:28 [INFO] [stdout] | [INFO] [stdout] 201 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | unsafe fn unsafe_block16_vaes(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:202:28 [INFO] [stdout] | [INFO] [stdout] 202 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:203:28 [INFO] [stdout] | [INFO] [stdout] 203 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:204:28 [INFO] [stdout] | [INFO] [stdout] 204 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:205:28 [INFO] [stdout] | [INFO] [stdout] 205 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:206:28 [INFO] [stdout] | [INFO] [stdout] 206 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:207:28 [INFO] [stdout] | [INFO] [stdout] 207 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:208:28 [INFO] [stdout] | [INFO] [stdout] 208 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | unsafe fn unsafe_block16_vaes_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:222:28 [INFO] [stdout] | [INFO] [stdout] 222 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:224:28 [INFO] [stdout] | [INFO] [stdout] 224 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:225:28 [INFO] [stdout] | [INFO] [stdout] 225 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:226:28 [INFO] [stdout] | [INFO] [stdout] 226 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:227:28 [INFO] [stdout] | [INFO] [stdout] 227 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:228:28 [INFO] [stdout] | [INFO] [stdout] 228 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:327:21 [INFO] [stdout] | [INFO] [stdout] 327 | let mut x = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | unsafe fn round_vaes(a: __m256i, b: __m256i, c: __m256i, d: __m256i, rk: __m256i) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:327:38 [INFO] [stdout] | [INFO] [stdout] 327 | let mut x = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:327:55 [INFO] [stdout] | [INFO] [stdout] 327 | let mut x = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let mut y = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:331:13 [INFO] [stdout] | [INFO] [stdout] 331 | y = _mm256_shuffle_epi8(M1L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | x = _mm256_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:333:13 [INFO] [stdout] | [INFO] [stdout] 333 | x = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:334:30 [INFO] [stdout] | [INFO] [stdout] 334 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:337:13 [INFO] [stdout] | [INFO] [stdout] 337 | x = _mm256_shuffle_epi8(x, SHR); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_aesenclast_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | x = _mm256_aesenclast_epi128(x, ZERO); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: vaes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | y = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | y = _mm256_shuffle_epi8(M2L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | x = _mm256_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:344:13 [INFO] [stdout] | [INFO] [stdout] 344 | x = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:345:13 [INFO] [stdout] | [INFO] [stdout] 345 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:345:30 [INFO] [stdout] | [INFO] [stdout] 345 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:347:21 [INFO] [stdout] | [INFO] [stdout] 347 | let mut y = _mm256_xor_si256(x, _mm256_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:347:41 [INFO] [stdout] | [INFO] [stdout] 347 | let mut y = _mm256_xor_si256(x, _mm256_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:348:33 [INFO] [stdout] | [INFO] [stdout] 348 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:349:13 [INFO] [stdout] | [INFO] [stdout] 349 | y = _mm256_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: avx512f and avx512vl [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | / _mm256_xor_si256( [INFO] [stdout] 351 | | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] 352 | | a, [INFO] [stdout] 353 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:351:13 [INFO] [stdout] | [INFO] [stdout] 351 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:351:30 [INFO] [stdout] | [INFO] [stdout] 351 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:351:47 [INFO] [stdout] | [INFO] [stdout] 351 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:364:17 [INFO] [stdout] | [INFO] [stdout] 364 | let a = round_vaes(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:357:5 [INFO] [stdout] | [INFO] [stdout] 357 | / unsafe fn round4_vaes( [INFO] [stdout] 358 | | a: __m256i, [INFO] [stdout] 359 | | b: __m256i, [INFO] [stdout] 360 | | c: __m256i, [INFO] [stdout] 361 | | d: __m256i, [INFO] [stdout] 362 | | rk: [__m256i; 4], [INFO] [stdout] 363 | | ) -> (__m256i, __m256i, __m256i, __m256i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:365:17 [INFO] [stdout] | [INFO] [stdout] 365 | let b = round_vaes(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | let c = round_vaes(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:367:17 [INFO] [stdout] | [INFO] [stdout] 367 | let d = round_vaes(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:389:28 [INFO] [stdout] | [INFO] [stdout] 389 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:386:5 [INFO] [stdout] | [INFO] [stdout] 386 | unsafe fn unsafe_block8_vaes(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:390:28 [INFO] [stdout] | [INFO] [stdout] 390 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:391:28 [INFO] [stdout] | [INFO] [stdout] 391 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:392:28 [INFO] [stdout] | [INFO] [stdout] 392 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:393:28 [INFO] [stdout] | [INFO] [stdout] 393 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:394:28 [INFO] [stdout] | [INFO] [stdout] 394 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:395:28 [INFO] [stdout] | [INFO] [stdout] 395 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:396:28 [INFO] [stdout] | [INFO] [stdout] 396 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:411:28 [INFO] [stdout] | [INFO] [stdout] 411 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:408:5 [INFO] [stdout] | [INFO] [stdout] 408 | unsafe fn unsafe_block8_vaes_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:412:28 [INFO] [stdout] | [INFO] [stdout] 412 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:413:28 [INFO] [stdout] | [INFO] [stdout] 413 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:414:28 [INFO] [stdout] | [INFO] [stdout] 414 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:415:28 [INFO] [stdout] | [INFO] [stdout] 415 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:416:28 [INFO] [stdout] | [INFO] [stdout] 416 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:417:28 [INFO] [stdout] | [INFO] [stdout] 417 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:418:28 [INFO] [stdout] | [INFO] [stdout] 418 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_set_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | let a = _mm_set_epi32( [INFO] [stdout] | _________________^ [INFO] [stdout] 12 | | get_u32_le(&src[16 * 3..]) as i32, [INFO] [stdout] 13 | | get_u32_le(&src[16 * 2..]) as i32, [INFO] [stdout] 14 | | get_u32_le(&src[16 * 1..]) as i32, [INFO] [stdout] 15 | | get_u32_le(&src[16 * 0..]) as i32, [INFO] [stdout] 16 | | ); [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | unsafe fn load_a_sse2(src: &[u8]) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | _mm_shuffle_epi8(a, FLP32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: ssse3 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_set_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let a = _mm256_set_epi32( [INFO] [stdout] | _________________^ [INFO] [stdout] 76 | | get_u32_le(&src[16 * 7..]) as i32, [INFO] [stdout] 77 | | get_u32_le(&src[16 * 6..]) as i32, [INFO] [stdout] 78 | | get_u32_le(&src[16 * 5..]) as i32, [INFO] [stdout] ... | [INFO] [stdout] 83 | | get_u32_le(&src[16 * 0..]) as i32, [INFO] [stdout] 84 | | ); [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | unsafe fn load_a_256(src: &[u8]) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | _mm256_shuffle_epi8(a, FLP32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_set_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:161:17 [INFO] [stdout] | [INFO] [stdout] 161 | let a = _mm512_set_epi32( [INFO] [stdout] | _________________^ [INFO] [stdout] 162 | | get_u32_le(&src[16 * 15..]) as i32, [INFO] [stdout] 163 | | get_u32_le(&src[16 * 14..]) as i32, [INFO] [stdout] 164 | | get_u32_le(&src[16 * 13..]) as i32, [INFO] [stdout] ... | [INFO] [stdout] 177 | | get_u32_le(&src[16 * 0..]) as i32, [INFO] [stdout] 178 | | ); [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | unsafe fn load_a_512(src: &[u8]) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | _mm512_shuffle_epi8(a, FLP32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | let t0 = _mm_shuffle_epi32(w0, 0b10111111); // t0: W0, x, x, x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | unsafe fn msg_sched(w0: __m128i, w1: __m128i, w2: __m128i, w3: __m128i, w4: __m128i, w5: __m128i) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 42 | let t0 = _mm_alignr_epi32_!(w1, t0, 3); // t0: x, W2, W1, W0 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 42 | let t0 = _mm_alignr_epi32_!(w1, t0, 3); // t0: x, W2, W1, W0 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:51 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 42 | let t0 = _mm_alignr_epi32_!(w1, t0, 3); // t0: x, W2, W1, W0 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | let t1 = _mm_shuffle_epi32(w1, 0b10111111); // t1: W3, x, x, x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 45 | let t1 = _mm_alignr_epi32_!(w2, t1, 3); // t1: x, W5, W4, W3 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 45 | let t1 = _mm_alignr_epi32_!(w2, t1, 3); // t1: x, W5, W4, W3 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:51 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 45 | let t1 = _mm_alignr_epi32_!(w2, t1, 3); // t1: x, W5, W4, W3 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let t2 = _mm_xor_si128(w3, t0); // t2: W0 ^ W7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 48 | let t3 = _mm_rol_epi32_!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 48 | let t3 = _mm_rol_epi32_!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 48 | let t3 = _mm_rol_epi32_!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | let t2 = _mm_xor_si128(t2, t3); // t2: W0 ^ W7 ^ (W13 <<< 15) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 50 | let t0 = _mm_rol_epi32_!(t2, 15); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 50 | let t0 = _mm_rol_epi32_!(t2, 15); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 50 | let t0 = _mm_rol_epi32_!(t2, 15); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 51 | let t3 = _mm_rol_epi32_!(t2, 23); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 51 | let t3 = _mm_rol_epi32_!(t2, 23); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 51 | let t3 = _mm_rol_epi32_!(t2, 23); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | let t2 = _mm_xor_si128(t2, _mm_xor_si128(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:52:32 [INFO] [stdout] | [INFO] [stdout] 52 | let t2 = _mm_xor_si128(t2, _mm_xor_si128(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | _mm_xor_si128(t2, w4) // w0: x, W18, W17, W16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bsrli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let t0 = _mm256_bsrli_epi128(w0, 8); // 0,0,x, w0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | unsafe fn msg_sched(w0: __m256i, w1: __m256i, w2: __m256i, w3: __m256i, w4: __m256i, w5: __m256i) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | let t0 = _mm256_and_si256(t0, MASK_LO32); // 0,0,0, w0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | let tt = _mm256_bslli_epi128(w1, 4); // 0,w2, W1,0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | let t0 = _mm256_xor_si256(t0, tt); // t0: X, W2, W1, W0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bsrli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | let t1 = _mm256_bsrli_epi128(w1, 8); // 0,0,x, w3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | let t1 = _mm256_and_si256(t1, MASK_LO32); // 0,0,0, w3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | let tt = _mm256_bslli_epi128(w2, 4); ////t1: w6, W5, W4, 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | let t1 = _mm256_xor_si256(t1, tt); // t1: x, W5, W4, W3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | let t2 = _mm256_xor_si256(w3, t0); // t2: W0 ^ W7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 59 | let t3 = _mm256_rol_epi32!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 59 | let t3 = _mm256_rol_epi32!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 59 | let t3 = _mm256_rol_epi32!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | let t2 = _mm256_xor_si256(t2, t3); // t2: W0 ^ W7 ^ (W13 <<< 15) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 61 | let t0 = _mm256_rol_epi32!(t2, 15); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 61 | let t0 = _mm256_rol_epi32!(t2, 15); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 61 | let t0 = _mm256_rol_epi32!(t2, 15); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 62 | let t3 = _mm256_rol_epi32!(t2, 23); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 62 | let t3 = _mm256_rol_epi32!(t2, 23); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 62 | let t3 = _mm256_rol_epi32!(t2, 23); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | let t2 = _mm256_xor_si256(t2, _mm256_xor_si256(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | let t2 = _mm256_xor_si256(t2, _mm256_xor_si256(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | _mm256_xor_si256(t2, w4) // w0: x, W18, W17, W16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_mask_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | let t0 = _mm512_mask_shuffle_epi32(ZERO, 0x1111, w0, 0b10101010); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe fn msg_sched(w0: __m512i, w1: __m512i, w2: __m512i, w3: __m512i, w4: __m512i, w5: __m512i) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:38:14 [INFO] [stdout] | [INFO] [stdout] 38 | let tt = _mm512_bslli_epi128(w1, 4); // 0,w2, W1,0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:39:14 [INFO] [stdout] | [INFO] [stdout] 39 | let t0 = _mm512_xor_si512(t0, tt); // t0: X, W2, W1, W0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_mask_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | let t1 = _mm512_mask_shuffle_epi32(ZERO, 0x1111, w1, 0b10101010); // 0,0,0, W3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | let tt = _mm512_bslli_epi128(w2, 4); ////t1: w6, W5, W4, 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | let t1 = _mm512_xor_si512(t1, tt); // t1: x, W5, W4, W3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | let t2 = _mm512_xor_si512(w3, t0); // t2: W0 ^ W7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | let t3 = _mm512_rol_epi32(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let t2 = _mm512_xor_si512(t2, t3); // t2: W0 ^ W7 ^ (W13 <<< 15) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | let t0 = _mm512_rol_epi32(t2, 15); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | let t3 = _mm512_rol_epi32(t2, 23); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | let t2 = _mm512_xor_si512(t2, _mm512_xor_si512(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:50:35 [INFO] [stdout] | [INFO] [stdout] 50 | let t2 = _mm512_xor_si512(t2, _mm512_xor_si512(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | let t2 = _mm512_xor_si512(t2, _mm512_rol_epi32(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:51:35 [INFO] [stdout] | [INFO] [stdout] 51 | let t2 = _mm512_xor_si512(t2, _mm512_rol_epi32(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | _mm512_xor_si512(t2, w4) // w0: x, W18, W17, W16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | let t0 = _mm_xor_si128( [INFO] [stdout] | ______________^ [INFO] [stdout] 125 | | _mm_xor_si128(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] 126 | | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] 127 | | ); [INFO] [stdout] | |_____^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | unsafe fn msg_sched(w: &[__m128i], i: usize) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | _mm_xor_si128(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 126 | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 126 | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 126 | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | _mm_xor_si128(t1, p1(t0)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let a = round_aesni(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | / unsafe fn round4_aesni( [INFO] [stdout] 60 | | a: __m128i, [INFO] [stdout] 61 | | b: __m128i, [INFO] [stdout] 62 | | c: __m128i, [INFO] [stdout] 63 | | d: __m128i, [INFO] [stdout] 64 | | rk: [__m128i; 4], [INFO] [stdout] 65 | | ) -> (__m128i, __m128i, __m128i, __m128i) { [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let b = round_aesni(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | let c = round_aesni(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let d = round_aesni(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn unsafe_block4_aesni(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:95:24 [INFO] [stdout] | [INFO] [stdout] 95 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:99:24 [INFO] [stdout] | [INFO] [stdout] 99 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:100:24 [INFO] [stdout] | [INFO] [stdout] 100 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:101:24 [INFO] [stdout] | [INFO] [stdout] 101 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | let t0 = _mm256_xor_si256( [INFO] [stdout] | ______________^ [INFO] [stdout] 114 | | _mm256_xor_si256(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] 115 | | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] 116 | | ); [INFO] [stdout] | |_____^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | unsafe fn msg_sched(w: &[__m256i], i: usize) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:115:24 [INFO] [stdout] | [INFO] [stdout] 115 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | unsafe fn unsafe_block4_aesni_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:116:24 [INFO] [stdout] | [INFO] [stdout] 116 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:117:24 [INFO] [stdout] | [INFO] [stdout] 117 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:118:24 [INFO] [stdout] | [INFO] [stdout] 118 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:120:24 [INFO] [stdout] | [INFO] [stdout] 120 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_aesni::round4_aesni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_aesni.rs:122:24 [INFO] [stdout] | [INFO] [stdout] 122 | let (a, b, c, d) = round4_aesni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | _mm256_xor_si256(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 115 | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 115 | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:53 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 115 | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:53 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | _mm256_xor_si256(t1, p1(t0)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | unsafe fn round_gfni(a: __m512i, b: __m512i, c: __m512i, d: __m512i, rk: __m512i) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:62:38 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:62:55 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_gf2p8affine_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | t = _mm512_gf2p8affine_epi64_epi8::(t, M1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_gf2p8affineinv_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | t = _mm512_gf2p8affineinv_epi64_epi8::(t, M3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let mut y = _mm512_xor_si512(t, _mm512_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:66:41 [INFO] [stdout] | [INFO] [stdout] 66 | let mut y = _mm512_xor_si512(t, _mm512_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:67:33 [INFO] [stdout] | [INFO] [stdout] 67 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | y = _mm512_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | / _mm512_xor_si512( [INFO] [stdout] 70 | | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] 71 | | a, [INFO] [stdout] 72 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:70:47 [INFO] [stdout] | [INFO] [stdout] 70 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | let a = round_gfni(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | / unsafe fn round4_gfni( [INFO] [stdout] 77 | | a: __m512i, [INFO] [stdout] 78 | | b: __m512i, [INFO] [stdout] 79 | | c: __m512i, [INFO] [stdout] 80 | | d: __m512i, [INFO] [stdout] 81 | | rk: [__m512i; 4], [INFO] [stdout] 82 | | ) -> (__m512i, __m512i, __m512i, __m512i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let b = round_gfni(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | let c = round_gfni(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let d = round_gfni(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | unsafe fn unsafe_block16_gfni(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:111:28 [INFO] [stdout] | [INFO] [stdout] 111 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:112:28 [INFO] [stdout] | [INFO] [stdout] 112 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:113:28 [INFO] [stdout] | [INFO] [stdout] 113 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:114:28 [INFO] [stdout] | [INFO] [stdout] 114 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:116:28 [INFO] [stdout] | [INFO] [stdout] 116 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block16::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:117:28 [INFO] [stdout] | [INFO] [stdout] 117 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | let mut t = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | / unsafe fn round_gfni( [INFO] [stdout] 183 | | a: __m256i, [INFO] [stdout] 184 | | b: __m256i, [INFO] [stdout] 185 | | c: __m256i, [INFO] [stdout] 186 | | d: __m256i, [INFO] [stdout] 187 | | rk: __m256i, [INFO] [stdout] 188 | | ) -> __m256i { [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:189:38 [INFO] [stdout] | [INFO] [stdout] 189 | let mut t = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:189:55 [INFO] [stdout] | [INFO] [stdout] 189 | let mut t = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_gf2p8affine_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | t = _mm256_gf2p8affine_epi64_epi8::(t, M1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_gf2p8affineinv_epi64_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | t = _mm256_gf2p8affineinv_epi64_epi8::(t, M3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: gfni and avx [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | let mut y = _mm256_xor_si256(t, _mm256_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:193:41 [INFO] [stdout] | [INFO] [stdout] 193 | let mut y = _mm256_xor_si256(t, _mm256_shuffle_epi8(t, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:194:33 [INFO] [stdout] | [INFO] [stdout] 194 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(t, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | y = _mm256_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: avx512f and avx512vl [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | / _mm256_xor_si256( [INFO] [stdout] 197 | | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] 198 | | a, [INFO] [stdout] 199 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:197:30 [INFO] [stdout] | [INFO] [stdout] 197 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:197:47 [INFO] [stdout] | [INFO] [stdout] 197 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(t, R24), y), t), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | let a = round_gfni(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | / unsafe fn round4_gfni( [INFO] [stdout] 204 | | a: __m256i, [INFO] [stdout] 205 | | b: __m256i, [INFO] [stdout] 206 | | c: __m256i, [INFO] [stdout] 207 | | d: __m256i, [INFO] [stdout] 208 | | rk: [__m256i; 4], [INFO] [stdout] 209 | | ) -> (__m256i, __m256i, __m256i, __m256i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:211:17 [INFO] [stdout] | [INFO] [stdout] 211 | let b = round_gfni(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | let c = round_gfni(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | let d = round_gfni(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | unsafe fn unsafe_block8_gfni(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:239:28 [INFO] [stdout] | [INFO] [stdout] 239 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:241:28 [INFO] [stdout] | [INFO] [stdout] 241 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:244:28 [INFO] [stdout] | [INFO] [stdout] 244 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:245:28 [INFO] [stdout] | [INFO] [stdout] 245 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:259:28 [INFO] [stdout] | [INFO] [stdout] 259 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | unsafe fn unsafe_block8_gfni_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:260:28 [INFO] [stdout] | [INFO] [stdout] 260 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:261:28 [INFO] [stdout] | [INFO] [stdout] 261 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:262:28 [INFO] [stdout] | [INFO] [stdout] 262 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:263:28 [INFO] [stdout] | [INFO] [stdout] 263 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:264:28 [INFO] [stdout] | [INFO] [stdout] 264 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:265:28 [INFO] [stdout] | [INFO] [stdout] 265 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_gfni::block8::round4_gfni` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_gfni.rs:266:28 [INFO] [stdout] | [INFO] [stdout] 266 | let (a, b, c, d) = round4_gfni(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | let mut x = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | unsafe fn round_vaes(a: __m512i, b: __m512i, c: __m512i, d: __m512i, rk: __m512i) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | let mut x = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:137:55 [INFO] [stdout] | [INFO] [stdout] 137 | let mut x = _mm512_xor_si512(_mm512_xor_si512(_mm512_xor_si512(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | let mut y = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | y = _mm512_shuffle_epi8(M1L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | x = _mm512_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | x = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:144:30 [INFO] [stdout] | [INFO] [stdout] 144 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | x = _mm512_shuffle_epi8(x, SHR); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_aesenclast_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | x = _mm512_aesenclast_epi128(x, ZERO); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: vaes and avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | y = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | y = _mm512_shuffle_epi8(M2L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | x = _mm512_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_and_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | x = _mm512_and_si512(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:155:30 [INFO] [stdout] | [INFO] [stdout] 155 | x = _mm512_xor_si512(_mm512_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:157:21 [INFO] [stdout] | [INFO] [stdout] 157 | let mut y = _mm512_xor_si512(x, _mm512_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:157:41 [INFO] [stdout] | [INFO] [stdout] 157 | let mut y = _mm512_xor_si512(x, _mm512_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:158:33 [INFO] [stdout] | [INFO] [stdout] 158 | y = _mm512_xor_si512(y, _mm512_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | y = _mm512_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | / _mm512_xor_si512( [INFO] [stdout] 161 | | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] 162 | | a, [INFO] [stdout] 163 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:161:30 [INFO] [stdout] | [INFO] [stdout] 161 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:161:47 [INFO] [stdout] | [INFO] [stdout] 161 | _mm512_xor_si512(_mm512_xor_si512(_mm512_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | let a = round_vaes(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | / unsafe fn round4_vaes( [INFO] [stdout] 168 | | a: __m512i, [INFO] [stdout] 169 | | b: __m512i, [INFO] [stdout] 170 | | c: __m512i, [INFO] [stdout] 171 | | d: __m512i, [INFO] [stdout] 172 | | rk: [__m512i; 4], [INFO] [stdout] 173 | | ) -> (__m512i, __m512i, __m512i, __m512i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | let b = round_vaes(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let c = round_vaes(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | let d = round_vaes(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:201:28 [INFO] [stdout] | [INFO] [stdout] 201 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | unsafe fn unsafe_block16_vaes(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:202:28 [INFO] [stdout] | [INFO] [stdout] 202 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:203:28 [INFO] [stdout] | [INFO] [stdout] 203 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:204:28 [INFO] [stdout] | [INFO] [stdout] 204 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:205:28 [INFO] [stdout] | [INFO] [stdout] 205 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:206:28 [INFO] [stdout] | [INFO] [stdout] 206 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:207:28 [INFO] [stdout] | [INFO] [stdout] 207 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:208:28 [INFO] [stdout] | [INFO] [stdout] 208 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | unsafe fn unsafe_block16_vaes_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:222:28 [INFO] [stdout] | [INFO] [stdout] 222 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:224:28 [INFO] [stdout] | [INFO] [stdout] 224 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:225:28 [INFO] [stdout] | [INFO] [stdout] 225 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:226:28 [INFO] [stdout] | [INFO] [stdout] 226 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:227:28 [INFO] [stdout] | [INFO] [stdout] 227 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block16::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:228:28 [INFO] [stdout] | [INFO] [stdout] 228 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:327:21 [INFO] [stdout] | [INFO] [stdout] 327 | let mut x = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | unsafe fn round_vaes(a: __m256i, b: __m256i, c: __m256i, d: __m256i, rk: __m256i) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:327:38 [INFO] [stdout] | [INFO] [stdout] 327 | let mut x = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:327:55 [INFO] [stdout] | [INFO] [stdout] 327 | let mut x = _mm256_xor_si256(_mm256_xor_si256(_mm256_xor_si256(b, c), d), rk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let mut y = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:331:13 [INFO] [stdout] | [INFO] [stdout] 331 | y = _mm256_shuffle_epi8(M1L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | x = _mm256_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:333:13 [INFO] [stdout] | [INFO] [stdout] 333 | x = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:334:30 [INFO] [stdout] | [INFO] [stdout] 334 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M1H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:337:13 [INFO] [stdout] | [INFO] [stdout] 337 | x = _mm256_shuffle_epi8(x, SHR); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_aesenclast_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | x = _mm256_aesenclast_epi128(x, ZERO); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: vaes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | y = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | y = _mm256_shuffle_epi8(M2L, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi64` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | x = _mm256_srli_epi64(x, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:344:13 [INFO] [stdout] | [INFO] [stdout] 344 | x = _mm256_and_si256(x, C0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:345:13 [INFO] [stdout] | [INFO] [stdout] 345 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:345:30 [INFO] [stdout] | [INFO] [stdout] 345 | x = _mm256_xor_si256(_mm256_shuffle_epi8(M2H, x), y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:347:21 [INFO] [stdout] | [INFO] [stdout] 347 | let mut y = _mm256_xor_si256(x, _mm256_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:347:41 [INFO] [stdout] | [INFO] [stdout] 347 | let mut y = _mm256_xor_si256(x, _mm256_shuffle_epi8(x, R08)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:348:33 [INFO] [stdout] | [INFO] [stdout] 348 | y = _mm256_xor_si256(y, _mm256_shuffle_epi8(x, R16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:349:13 [INFO] [stdout] | [INFO] [stdout] 349 | y = _mm256_rol_epi32(y, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target features: avx512f and avx512vl [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | / _mm256_xor_si256( [INFO] [stdout] 351 | | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] 352 | | a, [INFO] [stdout] 353 | | ) [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:351:13 [INFO] [stdout] | [INFO] [stdout] 351 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:351:30 [INFO] [stdout] | [INFO] [stdout] 351 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:351:47 [INFO] [stdout] | [INFO] [stdout] 351 | _mm256_xor_si256(_mm256_xor_si256(_mm256_shuffle_epi8(x, R24.into()), y), x), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:364:17 [INFO] [stdout] | [INFO] [stdout] 364 | let a = round_vaes(a, b, c, d, rk[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:357:5 [INFO] [stdout] | [INFO] [stdout] 357 | / unsafe fn round4_vaes( [INFO] [stdout] 358 | | a: __m256i, [INFO] [stdout] 359 | | b: __m256i, [INFO] [stdout] 360 | | c: __m256i, [INFO] [stdout] 361 | | d: __m256i, [INFO] [stdout] 362 | | rk: [__m256i; 4], [INFO] [stdout] 363 | | ) -> (__m256i, __m256i, __m256i, __m256i) { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:365:17 [INFO] [stdout] | [INFO] [stdout] 365 | let b = round_vaes(b, c, d, a, rk[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | let c = round_vaes(c, d, a, b, rk[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:367:17 [INFO] [stdout] | [INFO] [stdout] 367 | let d = round_vaes(d, a, b, c, rk[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:389:28 [INFO] [stdout] | [INFO] [stdout] 389 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:386:5 [INFO] [stdout] | [INFO] [stdout] 386 | unsafe fn unsafe_block8_vaes(dst: &mut [u8], src: &[u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:390:28 [INFO] [stdout] | [INFO] [stdout] 390 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:391:28 [INFO] [stdout] | [INFO] [stdout] 391 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:392:28 [INFO] [stdout] | [INFO] [stdout] 392 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:393:28 [INFO] [stdout] | [INFO] [stdout] 393 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:394:28 [INFO] [stdout] | [INFO] [stdout] 394 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:395:28 [INFO] [stdout] | [INFO] [stdout] 395 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:396:28 [INFO] [stdout] | [INFO] [stdout] 396 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:411:28 [INFO] [stdout] | [INFO] [stdout] 411 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:408:5 [INFO] [stdout] | [INFO] [stdout] 408 | unsafe fn unsafe_block8_vaes_inplace(dst_src: &mut [u8], rk: &[u32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:412:28 [INFO] [stdout] | [INFO] [stdout] 412 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:413:28 [INFO] [stdout] | [INFO] [stdout] 413 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:414:28 [INFO] [stdout] | [INFO] [stdout] 414 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 12)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:415:28 [INFO] [stdout] | [INFO] [stdout] 415 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:416:28 [INFO] [stdout] | [INFO] [stdout] 416 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:417:28 [INFO] [stdout] | [INFO] [stdout] 417 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 24)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `sm4::block::amd64::block_vaes::block8::round4_vaes` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/block_vaes.rs:418:28 [INFO] [stdout] | [INFO] [stdout] 418 | let (a, b, c, d) = round4_vaes(a, b, c, d, expand_roundkey(rk, 28)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_set_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | let a = _mm_set_epi32( [INFO] [stdout] | _________________^ [INFO] [stdout] 12 | | get_u32_le(&src[16 * 3..]) as i32, [INFO] [stdout] 13 | | get_u32_le(&src[16 * 2..]) as i32, [INFO] [stdout] 14 | | get_u32_le(&src[16 * 1..]) as i32, [INFO] [stdout] 15 | | get_u32_le(&src[16 * 0..]) as i32, [INFO] [stdout] 16 | | ); [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | unsafe fn load_a_sse2(src: &[u8]) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | _mm_shuffle_epi8(a, FLP32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: ssse3 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_set_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let a = _mm256_set_epi32( [INFO] [stdout] | _________________^ [INFO] [stdout] 76 | | get_u32_le(&src[16 * 7..]) as i32, [INFO] [stdout] 77 | | get_u32_le(&src[16 * 6..]) as i32, [INFO] [stdout] 78 | | get_u32_le(&src[16 * 5..]) as i32, [INFO] [stdout] ... | [INFO] [stdout] 83 | | get_u32_le(&src[16 * 0..]) as i32, [INFO] [stdout] 84 | | ); [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | unsafe fn load_a_256(src: &[u8]) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | _mm256_shuffle_epi8(a, FLP32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | let t0 = _mm512_xor_si512(_mm512_xor_si512(w[(i + 0) % 16], w[(i + 7) % 16]), _mm512_rol_epi32(w[(i + 13) % 16], 15)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | unsafe fn msg_sched(w: &[__m512i], i: usize) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:103:31 [INFO] [stdout] | [INFO] [stdout] 103 | let t0 = _mm512_xor_si512(_mm512_xor_si512(w[(i + 0) % 16], w[(i + 7) % 16]), _mm512_rol_epi32(w[(i + 13) % 16], 15)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:103:83 [INFO] [stdout] | [INFO] [stdout] 103 | let t0 = _mm512_xor_si512(_mm512_xor_si512(w[(i + 0) % 16], w[(i + 7) % 16]), _mm512_rol_epi32(w[(i + 13) % 16], 15)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:104:14 [INFO] [stdout] | [INFO] [stdout] 104 | let t1 = _mm512_xor_si512(_mm512_rol_epi32(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:104:31 [INFO] [stdout] | [INFO] [stdout] 104 | let t1 = _mm512_xor_si512(_mm512_rol_epi32(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | _mm512_xor_si512(t1, p1(t0)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_set_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:161:17 [INFO] [stdout] | [INFO] [stdout] 161 | let a = _mm512_set_epi32( [INFO] [stdout] | _________________^ [INFO] [stdout] 162 | | get_u32_le(&src[16 * 15..]) as i32, [INFO] [stdout] 163 | | get_u32_le(&src[16 * 14..]) as i32, [INFO] [stdout] 164 | | get_u32_le(&src[16 * 13..]) as i32, [INFO] [stdout] ... | [INFO] [stdout] 177 | | get_u32_le(&src[16 * 0..]) as i32, [INFO] [stdout] 178 | | ); [INFO] [stdout] | |_________^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | unsafe fn load_a_512(src: &[u8]) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_shuffle_epi8` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm4/block/amd64/mem.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | _mm512_shuffle_epi8(a, FLP32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | let t0 = _mm_shuffle_epi32(w0, 0b10111111); // t0: W0, x, x, x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | unsafe fn msg_sched(w0: __m128i, w1: __m128i, w2: __m128i, w3: __m128i, w4: __m128i, w5: __m128i) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 42 | let t0 = _mm_alignr_epi32_!(w1, t0, 3); // t0: x, W2, W1, W0 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 42 | let t0 = _mm_alignr_epi32_!(w1, t0, 3); // t0: x, W2, W1, W0 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:51 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 42 | let t0 = _mm_alignr_epi32_!(w1, t0, 3); // t0: x, W2, W1, W0 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | let t1 = _mm_shuffle_epi32(w1, 0b10111111); // t1: W3, x, x, x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 45 | let t1 = _mm_alignr_epi32_!(w2, t1, 3); // t1: x, W5, W4, W3 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 45 | let t1 = _mm_alignr_epi32_!(w2, t1, 3); // t1: x, W5, W4, W3 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:20:51 [INFO] [stdout] | [INFO] [stdout] 20 | _mm_xor_si128(_mm_srli_si128($y, $n * 4), _mm_slli_si128($x, 16 - $n * 4)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 45 | let t1 = _mm_alignr_epi32_!(w2, t1, 3); // t1: x, W5, W4, W3 [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_alignr_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let t2 = _mm_xor_si128(w3, t0); // t2: W0 ^ W7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 48 | let t3 = _mm_rol_epi32_!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 48 | let t3 = _mm_rol_epi32_!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 48 | let t3 = _mm_rol_epi32_!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | let t2 = _mm_xor_si128(t2, t3); // t2: W0 ^ W7 ^ (W13 <<< 15) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 50 | let t0 = _mm_rol_epi32_!(t2, 15); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 50 | let t0 = _mm_rol_epi32_!(t2, 15); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 50 | let t0 = _mm_rol_epi32_!(t2, 15); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 51 | let t3 = _mm_rol_epi32_!(t2, 23); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 51 | let t3 = _mm_rol_epi32_!(t2, 23); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 51 | let t3 = _mm_rol_epi32_!(t2, 23); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | let t2 = _mm_xor_si128(t2, _mm_xor_si128(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:52:32 [INFO] [stdout] | [INFO] [stdout] 52 | let t2 = _mm_xor_si128(t2, _mm_xor_si128(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:13:47 [INFO] [stdout] | [INFO] [stdout] 13 | _mm_xor_si128(_mm_slli_epi32($x, $n), _mm_srli_epi32($x, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 53 | let t2 = _mm_xor_si128(t2, _mm_rol_epi32_!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ---------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32_` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_sse2.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | _mm_xor_si128(t2, w4) // w0: x, W18, W17, W16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bsrli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let t0 = _mm256_bsrli_epi128(w0, 8); // 0,0,x, w0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | unsafe fn msg_sched(w0: __m256i, w1: __m256i, w2: __m256i, w3: __m256i, w4: __m256i, w5: __m256i) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | let t0 = _mm256_and_si256(t0, MASK_LO32); // 0,0,0, w0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | let tt = _mm256_bslli_epi128(w1, 4); // 0,w2, W1,0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | let t0 = _mm256_xor_si256(t0, tt); // t0: X, W2, W1, W0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bsrli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | let t1 = _mm256_bsrli_epi128(w1, 8); // 0,0,x, w3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_and_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | let t1 = _mm256_and_si256(t1, MASK_LO32); // 0,0,0, w3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | let tt = _mm256_bslli_epi128(w2, 4); ////t1: w6, W5, W4, 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | let t1 = _mm256_xor_si256(t1, tt); // t1: x, W5, W4, W3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | let t2 = _mm256_xor_si256(w3, t0); // t2: W0 ^ W7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 59 | let t3 = _mm256_rol_epi32!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 59 | let t3 = _mm256_rol_epi32!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 59 | let t3 = _mm256_rol_epi32!(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | let t2 = _mm256_xor_si256(t2, t3); // t2: W0 ^ W7 ^ (W13 <<< 15) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 61 | let t0 = _mm256_rol_epi32!(t2, 15); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 61 | let t0 = _mm256_rol_epi32!(t2, 15); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 61 | let t0 = _mm256_rol_epi32!(t2, 15); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 62 | let t3 = _mm256_rol_epi32!(t2, 23); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 62 | let t3 = _mm256_rol_epi32!(t2, 23); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 62 | let t3 = _mm256_rol_epi32!(t2, 23); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | let t2 = _mm256_xor_si256(t2, _mm256_xor_si256(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | let t2 = _mm256_xor_si256(t2, _mm256_xor_si256(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 64 | let t2 = _mm256_xor_si256(t2, _mm256_rol_epi32!(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | _mm256_xor_si256(t2, w4) // w0: x, W18, W17, W16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t0` [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | let t0 = unsafe { _mm256_unpacklo_epi32(a,b) }; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_t0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t1` [INFO] [stdout] --> src/sm3/amd64/amd64_avx2.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let t1= unsafe { _mm256_unpackhi_epi32(a,b) }; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_t1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_mask_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | let t0 = _mm512_mask_shuffle_epi32(ZERO, 0x1111, w0, 0b10101010); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe fn msg_sched(w0: __m512i, w1: __m512i, w2: __m512i, w3: __m512i, w4: __m512i, w5: __m512i) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:38:14 [INFO] [stdout] | [INFO] [stdout] 38 | let tt = _mm512_bslli_epi128(w1, 4); // 0,w2, W1,0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:39:14 [INFO] [stdout] | [INFO] [stdout] 39 | let t0 = _mm512_xor_si512(t0, tt); // t0: X, W2, W1, W0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_mask_shuffle_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | let t1 = _mm512_mask_shuffle_epi32(ZERO, 0x1111, w1, 0b10101010); // 0,0,0, W3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_bslli_epi128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | let tt = _mm512_bslli_epi128(w2, 4); ////t1: w6, W5, W4, 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512bw [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | let t1 = _mm512_xor_si512(t1, tt); // t1: x, W5, W4, W3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | let t2 = _mm512_xor_si512(w3, t0); // t2: W0 ^ W7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | let t3 = _mm512_rol_epi32(w5, 15); // t3: W13 <<< 15 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let t2 = _mm512_xor_si512(t2, t3); // t2: W0 ^ W7 ^ (W13 <<< 15) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | let t0 = _mm512_rol_epi32(t2, 15); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | let t3 = _mm512_rol_epi32(t2, 23); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | let t2 = _mm512_xor_si512(t2, _mm512_xor_si512(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:50:35 [INFO] [stdout] | [INFO] [stdout] 50 | let t2 = _mm512_xor_si512(t2, _mm512_xor_si512(t0, t3)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | let t2 = _mm512_xor_si512(t2, _mm512_rol_epi32(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:51:35 [INFO] [stdout] | [INFO] [stdout] 51 | let t2 = _mm512_xor_si512(t2, _mm512_rol_epi32(t1, 7)); // t2: P1(W0 ^ W7 ^ (W13 <<< 15)) ^ (W3 <<< 7) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3/amd64/amd64_avx512.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | _mm512_xor_si512(t2, w4) // w0: x, W18, W17, W16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/blockmode/gcm/ghash_amd64.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | let t0 = _mm_xor_si128( [INFO] [stdout] | ______________^ [INFO] [stdout] 125 | | _mm_xor_si128(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] 126 | | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] 127 | | ); [INFO] [stdout] | |_____^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | unsafe fn msg_sched(w: &[__m128i], i: usize) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | _mm_xor_si128(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 126 | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 126 | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 126 | _mm_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | _mm_xor_si128(_mm_slli_epi32($a, $n), _mm_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 128 | let t1 = _mm_xor_si128(_mm_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] = note: this warning originates in the macro `_mm_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm_xor_si128` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/sse2.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | _mm_xor_si128(t1, p1(t0)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: sse2 [INFO] [stdout] = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0308, E0425. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `opengm_crypto` (lib) due to 31 previous errors; 278 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | let t0 = _mm256_xor_si256( [INFO] [stdout] | ______________^ [INFO] [stdout] 114 | | _mm256_xor_si256(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] 115 | | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] 116 | | ); [INFO] [stdout] | |_____^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | unsafe fn msg_sched(w: &[__m256i], i: usize) -> __m256i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | _mm256_xor_si256(w[(i + 0) % 16], w[(i + 7) % 16]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 115 | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 115 | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:53 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 115 | _mm256_rol_epi32!(w[(i + 13) % 16], 15), [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_slli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_srli_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:12:53 [INFO] [stdout] | [INFO] [stdout] 12 | _mm256_xor_si256(_mm256_slli_epi32($a, $n), _mm256_srli_epi32($a, 32 - $n)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] ... [INFO] [stdout] 117 | let t1 = _mm256_xor_si256(_mm256_rol_epi32!(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] = note: this warning originates in the macro `_mm256_rol_epi32` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx2.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | _mm256_xor_si256(t1, p1(t0)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx2 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | let t0 = _mm512_xor_si512(_mm512_xor_si512(w[(i + 0) % 16], w[(i + 7) % 16]), _mm512_rol_epi32(w[(i + 13) % 16], 15)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | unsafe fn msg_sched(w: &[__m512i], i: usize) -> __m512i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:103:31 [INFO] [stdout] | [INFO] [stdout] 103 | let t0 = _mm512_xor_si512(_mm512_xor_si512(w[(i + 0) % 16], w[(i + 7) % 16]), _mm512_rol_epi32(w[(i + 13) % 16], 15)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:103:83 [INFO] [stdout] | [INFO] [stdout] 103 | let t0 = _mm512_xor_si512(_mm512_xor_si512(w[(i + 0) % 16], w[(i + 7) % 16]), _mm512_rol_epi32(w[(i + 13) % 16], 15)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:104:14 [INFO] [stdout] | [INFO] [stdout] 104 | let t1 = _mm512_xor_si512(_mm512_rol_epi32(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_rol_epi32` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:104:31 [INFO] [stdout] | [INFO] [stdout] 104 | let t1 = _mm512_xor_si512(_mm512_rol_epi32(w[(i + 3) % 16], 7), w[(i + 10) % 16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to function `core::arch::x86_64::_mm512_xor_si512` with `#[target_feature]` is unsafe and requires unsafe block [INFO] [stdout] --> src/sm3_simd/amd64/avx512.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | _mm512_xor_si512(t1, p1(t0)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: in order for the call to be safe, the context requires the following additional target feature: avx512f [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `q` is assigned to, but never used [INFO] [stdout] --> src/sm2/ec/curve.rs:892:17 [INFO] [stdout] | [INFO] [stdout] 892 | let mut q:AffinePoint = p.into(); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_q` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `q` is never read [INFO] [stdout] --> src/sm2/ec/curve.rs:895:29 [INFO] [stdout] | [INFO] [stdout] 895 | test::black_box(q = JacobianPoint::new_from_scalar_base_mul(&scalar).into()); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sm2/ec/curve.rs:885:13 [INFO] [stdout] | [INFO] [stdout] 885 | let mut p; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/blockmode/gcm/ghash_amd64.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0308, E0425, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `opengm_crypto` (lib test) due to 32 previous errors; 290 warnings emitted [INFO] running `Command { std: "docker" "inspect" "200c5035da082150f1efe8959bd2a8840c61925c6c0616e70f7e7c0722dc2790", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "200c5035da082150f1efe8959bd2a8840c61925c6c0616e70f7e7c0722dc2790", kill_on_drop: false }` [INFO] [stdout] 200c5035da082150f1efe8959bd2a8840c61925c6c0616e70f7e7c0722dc2790