[INFO] fetching crate opengm_crypto 0.1.0...
[INFO] testing opengm_crypto-0.1.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate opengm_crypto 0.1.0 into /workspace/builds/worker-6-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-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate opengm_crypto 0.1.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hex-literal v1.0.0
[INFO] [stderr]   Downloaded ctor-proc-macro v0.0.5
[INFO] [stderr]   Downloaded dtor-proc-macro v0.0.5
[INFO] [stderr]   Downloaded dtor v0.0.4
[INFO] [stderr]   Downloaded ctor v0.4.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.23
[INFO] [stderr]   Downloaded zerocopy v0.8.23
[INFO] [stderr]   Downloaded rug v1.27.0
[INFO] [stderr]   Downloaded gmp-mpfr-sys v1.6.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8d0ce80d0bdc3c157e582fb117bbeb263cc7990692f929c579e01572b41c2307
[INFO] running `Command { std: "docker" "start" "-a" "8d0ce80d0bdc3c157e582fb117bbeb263cc7990692f929c579e01572b41c2307", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d0ce80d0bdc3c157e582fb117bbeb263cc7990692f929c579e01572b41c2307", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d0ce80d0bdc3c157e582fb117bbeb263cc7990692f929c579e01572b41c2307", kill_on_drop: false }`
[INFO] [stdout] 8d0ce80d0bdc3c157e582fb117bbeb263cc7990692f929c579e01572b41c2307
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1250496fcb9ccc3f80a38c1d2edc32dd1cd1df2d96895c8f53c9265bcf3789cb
[INFO] running `Command { std: "docker" "start" "-a" "1250496fcb9ccc3f80a38c1d2edc32dd1cd1df2d96895c8f53c9265bcf3789cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling zerocopy v0.8.23
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling dtor-proc-macro v0.0.5
[INFO] [stderr]    Compiling ctor-proc-macro v0.0.5
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]    Compiling dtor v0.0.4
[INFO] [stderr]    Compiling ctor v0.4.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.0
[INFO] [stderr]    Compiling 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] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     feature(avx512_target_feature),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute
[INFO] [stdout]   |
[INFO] [stdout]   = help: the feature `avx512_target_feature` has been stable since `1.89.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     feature(stdarch_x86_avx512),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     feature(stdarch_x86_mm_shuffle)
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![feature(portable_simd)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![feature(test)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(const_trait_impl)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #![feature(slice_as_chunks)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![feature(bigint_helper_methods)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | #![feature(generic_const_exprs)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![feature(stmt_expr_attributes)]
[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]   = 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] 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] 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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/1159e78c4747b02ef996e55082b704c09b970588/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/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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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::<C1>(t, M1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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::<C3>(t, M3);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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::<C1>(t, M1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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::<C3>(t, M3);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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_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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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] Some errors have detailed explanations: E0133, E0308, E0425, E0554.
[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 41 previous errors; 278 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1250496fcb9ccc3f80a38c1d2edc32dd1cd1df2d96895c8f53c9265bcf3789cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1250496fcb9ccc3f80a38c1d2edc32dd1cd1df2d96895c8f53c9265bcf3789cb", kill_on_drop: false }`
[INFO] [stdout] 1250496fcb9ccc3f80a38c1d2edc32dd1cd1df2d96895c8f53c9265bcf3789cb
