Commit Graph

329 Commits (master)

Author SHA1 Message Date
tevador f1ff014bca Fix JIT fallback
5 years ago
tevador bd8ef0375a Update benchmark
5 years ago
tevador eee355d85b Fixed tests
5 years ago
tevador 22689eda49
Increase the frequency of CBRANCH (#118)
5 years ago
tevador 67010ab554
Optional W^X policy for JIT pages (#112)
5 years ago
tevador 971f10c9c2
Changes recommended by Quarkslab (#111)
5 years ago
tevador 91f3edb5eb Fix use-after-free in benchmark (debug build)
5 years ago
Caleb James DeLisle 058735e508 Fix a compiler error on Apple OSX because the assembly is not understood
5 years ago
tevador c433f6d3a8
Fix: hardcoded JIT code buffer size (#98)
5 years ago
tevador 47ade5e894
Do not attempt to allocate >= 4 GiB on 32-bit systems (#99)
5 years ago
Jethro Grassie 41401797c9 benchmark: affinity cast for mingw (#96)
5 years ago
tevador 89aba80925
Refactoring (#95)
5 years ago
tevador 08f7a2c2f2
Vector intrinsics for ARMv8 (#93)
5 years ago
tevador aaa6e4e881
Sanity checks (#88)
5 years ago
tevador c6b5ec12b6
Fix: possible overflow when using non-standard Dataset size (#87)
5 years ago
tevador b91882be42
Use cmake for building (#90)
5 years ago
tevador 4a4b06e44b More helpful error messages in the benchmark
5 years ago
tevador 6ea6cceb63
Fix undefined behavior in rotr/rotl (#86)
5 years ago
tevador 1f62d787ad Fix header dependency of superscalar_program.hpp
5 years ago
tevador e6ba0a1b7d Code generator fixups
5 years ago
tevador 77f809e8db Merge branch 'jtgrassie-affinity'
5 years ago
tevador e8cf27eab5 Fixed Visual Studio build
5 years ago
tevador 8282413154 Updated documentation and test vectors
5 years ago
tevador 91cd35ff13
Decrease the frequency of FADD/FSUB in favor of FMUL (#77)
5 years ago
tevador 83498cddf2
Different round keys for columns 0,1 and 2,3 in AesGenerator4R (#76)
5 years ago
tevador 118f3054ea
Large page support for FreeBSD (#74)
5 years ago
tevador 07293a9378
Regression tests (#73)
5 years ago
Judemir Ribeiro 776723dd40 POWER7+ VSX support plus AES hardware support for POWER8 and newer. (#41)
5 years ago
tevador e31a621d6f
Fix possible overflow in static_assert (#67)
5 years ago
Jethro Grassie 81d3a9d4a1
benchmark: add thread affinity setting
5 years ago
tevador 7edae5a4e4 Fix possible overflow in static_assert
5 years ago
tevador 447634f51d
Use strongly typed enums (#55)
5 years ago
tevador 52aa36249e
Add Dataset prefetch in interpreted VM (#52)
5 years ago
hyc eb6f6bb041 Fix Windows detection (#58)
5 years ago
tevador cc2551b02b
Support building a shared library (#53)
5 years ago
tevador 0c5b666df4
Configuration guidelines (#59)
5 years ago
tevador e4b2270104
Merge pull request #47 from tevador/pr-doc
5 years ago
tevador f7c99c5b58
Use 4 AES rounds for program generation (#46)
5 years ago
tevador 8298c9faf8 Much more detailed design description
5 years ago
tevador bc2aae0f61 Support Dataset size larger than 4 GiB
5 years ago
tevador 378d5def38 Added performance simulation
5 years ago
tevador 8a5ead5ce3 Use 'dst' as the CBRANCH condition register
5 years ago
tevador 1276d67d2f Fix build on Cygwin/MinGW
5 years ago
tevador 2706a8b753 Relicensed under the 3-clause BSD license
5 years ago
tevador c5c891ff8e Correctly call JitCompiler destructor
5 years ago
Howard Chu ab6076ae58 Avoid argon2 symbol clashes with libsodium
5 years ago
tevador ac22aed121 Proper C declaration without parameters
5 years ago
tevador 1029098719 Updated documentation
5 years ago
tevador 42cb2fc852 Fixed non-x86 compilation
5 years ago
tevador 2b3a03a9dc Fixed FSCAL instruction causing group F registers to exceed their intended maximum value
5 years ago
tevador 2a04dfdd4f Fixed x87 math precision (i386 build)
5 years ago
tevador afaeff6066 Fixed incorrect sqrt results on 32bit targets using x87 math
5 years ago
tevador 1aa7865619 Abstracted away from x86 intrinsics
5 years ago
tevador 3dd21ea93d Prepare for JIT compiler support for other platforms
5 years ago
tevador a560cec3e7 Clarifications/corrections in the specification/comments
5 years ago
tevador 3f7139d3aa Fixed a possibility of buffer overflow in Superscalar generator
5 years ago
tevador a78429202b Query for LargePageMinimum on Windows
5 years ago
tevador c1314dc2a2 Use values from configuration.h in assembly code
5 years ago
tevador 4934bbf69d Updated documentation
5 years ago
tevador 40a08bb0c8 Fixed incorrect latency of mul_r in SuperscalarHash
5 years ago
tevador a22e3b3cb0 30% faster JIT compiler
5 years ago
tevador b1f1e1d6ad Fixed IMUL_RCP if divisor is a power of 2
5 years ago
tevador b62b1f8717 Added scratchpad entropy test
5 years ago
tevador cb3d57376f Fixed API examples
5 years ago
tevador 9e5eac8645 Fixed a chance of CBRANCH looping
5 years ago
tevador 01db567e9d Fixed an inconsistency in IADD_RS in SuperscalarHash
5 years ago
tevador c87dcc8ae5 Cache seed renamed to key
5 years ago
tevador 1a4bde36be Fixed a missing header dependency
5 years ago
tevador ca96270509 Group E exponent changed from a static value (-240) to dynamic
5 years ago
tevador be21ba767c Doubled the frequency of CBRANCH, halved the jumping probability
5 years ago
tevador 3cf6a30076 Fixed biased condition register selection
5 years ago
tevador 5543fb5f2f Removed unused code
5 years ago
tevador ffebc37381 COND_R instruction reworked as CBRANCH
5 years ago
tevador ebddaf671c Alignment of x86 code for SuperscalarHash made optional
5 years ago
tevador cf72ed79c7 Function typedefs without pointer
5 years ago
tevador 7f6bdd9a52 Code cleanup & refactoring
5 years ago
tevador 22a3aa8d79 randomx_cache and randomx_dataset changed to standard-layout structs
5 years ago
tevador fd7186f873 Changed IADD_RS to use mod.mem
5 years ago
tevador ff88a57a98 Fixed reading from the red zone
5 years ago
tevador e758c1e2b2 Fixed non-x86 compilation
5 years ago
tevador 270a4f97fe Dataset size increased to 2080 MiB
5 years ago
tevador f66da3911e Fixed some compilation issues
5 years ago
tevador 018c1a5222 Big endian bug fixes
5 years ago
tevador 1c3666aa98 Fixed benchmark code
5 years ago
tevador b4dca14f0c Added a function to access the dataset memory buffer
5 years ago
tevador 59d82bbb01 Fixed doc
5 years ago
tevador 4c66b2305a Formatting & refactoring
5 years ago
tevador 87b8253374 API documentation
5 years ago
tevador bc78b628ea Flags ordered by their impact on performance
5 years ago
tevador d30eef75af Fixed non-x86 compilation
5 years ago
tevador a8c7137873 Linux makefile
5 years ago
tevador 41b51a4858 Cleaned up legacy code
5 years ago
tevador 360c8ed913 Fixed superscalar test projects
5 years ago
tevador 0d21ae85fc Remove capital letters from filenames #3
5 years ago
tevador f9ea7cc1df Remove capital letters from filenames #2
5 years ago
tevador 41557ce010 randomx project changed to a static library
5 years ago
tevador d7eefce583 Removed capital letters from filenames
5 years ago
tevador d7276d5786 Reduced the number of virtual calls per hash
5 years ago
tevador 296e77eebc C API - first working version
5 years ago
tevador 67046a9f38 Full-width mantissa for group E registers and FDIV_M
5 years ago
tevador d43c7db416 Updated reference result
5 years ago
tevador 682000b1a9 Unique scratchpad addresses - interpreter
5 years ago
tevador 33a2fd021d Unique scratchpad addresses
5 years ago
tevador 2c87a058ec Support for multithreaded dataset initialization
5 years ago
tevador 9c383dc2ba Added superscalar-stats
5 years ago
tevador 53d272c6a9 Merge branch 'feature/light-code-gen' into dev
5 years ago
tevador 8c37d4aac3 More refactoring
5 years ago
tevador 9404516dd8 Refactoring
5 years ago
tevador d49302561f Refactoring + comments
5 years ago
tevador 24a22c6b54 Code generator refactoring
5 years ago
tevador 37ff37cd11 msvc solution
5 years ago
tevador 2e68c89740 Separate executeSuperscalar function
5 years ago
tevador 2132e5fef5 SuperscalarHash interpreter
5 years ago
tevador b4c02051fa Reworked SuperscalarHash instruction set
5 years ago
tevador 6e3136b37f Fixed cache alignment
5 years ago
tevador 77dbe14658 SuperscalarHash JIT compiler
5 years ago
tevador 690707ef49 Reworked addition instructions
5 years ago
tevador 2aaec84931 Bug fixes, trace output
5 years ago
tevador 428b845a3d Fixed an infinite loop bug
5 years ago
tevador 23a357db37 Removed optimizable instruction sequences
5 years ago
tevador 2b9209346e Operand allocation
5 years ago
tevador acef5ea0d7 Port mapping
5 years ago
tevador 2fd0a125b5 Front-end simulation
5 years ago
tevador 1c9ad90a96 Removed unused AES key expansion code
5 years ago
tevador ad7b473388 Updated readme
5 years ago
tevador 59bbb572c2 WIP
5 years ago
tevador 2bb42637fd Epoch increased to 2048 blocks
5 years ago
tevador 107270d93d Reduced Dataset size to 2 GiB with 8 memory accesses per block
5 years ago
tevador 233af9f14f Minor fixes for non-x86 platforms
5 years ago
tevador 4c1ae951de Merge branch 'feature/branches' into dev
5 years ago
tevador 28ed776fbe Light JIT compiler - Linux
5 years ago
tevador 73a11f5c01 CompiledLightVirtualMachine
5 years ago
tevador 00368cae02 Fixed stats compilation
5 years ago
tevador 007f8599b9 Implemented branches in the interpreter
5 years ago
tevador 1617d8e34e Fixed squareHash reference
5 years ago
tevador 1945aae9f8 align -> balign
5 years ago
tevador 174754cb2b Added branches - ASM and JIT only
5 years ago
tevador 6b344b81fd initBlock asm version (disabled)
5 years ago
tevador 91063aac91 Reference result
5 years ago
tevador 344f365c42 Updated constants according to the specs
5 years ago
tevador edde7672e0 initBlock: cycle columns, asm implementation
5 years ago
tevador a1dc094c19 added epoch lag configuration
5 years ago
tevador 958d2bdc15 Fixed non-portable deserialization
5 years ago
tevador 2edf05cedc Implemented Dataset size increase per epoch
5 years ago
tevador e65d9da66c Configurable parameters separated into configuration.h
5 years ago
tevador 096a7c0d7b Implemented virtual memory free
5 years ago
tevador 6e8c83fdb6 Fixed softAes compilation on PowerPC
5 years ago
tevador 7c012b4fee Fixed non-portable nonce serialization
5 years ago
tevador d9bc6cfeda Updated JIT compiler and assembly generator for new int -> float conversion
5 years ago
tevador 790b382eda Reworked conversion int -> float for register group E
5 years ago