target/i386: implement SHA instructions
The implementation was validated with OpenSSL and with the test vectors in https://github.com/rust-lang/stdarch/blob/master/crates/core_arch/src/x86/sha.rs . The instructions provide a ~25% improvement on hashing a 64 MiB file: runtime goes down from 1.8 seconds to 1.4 seconds; instruction count on the host goes down from 5.8 billion to 4.8 billion with slightly better IPC too. Good job Intel. ;) Reviewed-by:Richard Henderson <richard.henderson@linaro.org> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
Showing
- target/i386/cpu.c 1 addition, 1 deletiontarget/i386/cpu.c
- target/i386/ops_sse.h 128 additions, 0 deletionstarget/i386/ops_sse.h
- target/i386/tcg/decode-new.c.inc 11 additions, 0 deletionstarget/i386/tcg/decode-new.c.inc
- target/i386/tcg/decode-new.h 1 addition, 0 deletionstarget/i386/tcg/decode-new.h
- target/i386/tcg/emit.c.inc 54 additions, 0 deletionstarget/i386/tcg/emit.c.inc
- target/i386/tcg/ops_sse_header.h.inc 14 additions, 0 deletionstarget/i386/tcg/ops_sse_header.h.inc
Loading
Please register or sign in to comment