Commit Graph

288 Commits (master)

Author SHA1 Message Date
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
tevador f3b114af88 Replaced division instructions with IMUL_RCP
5 years ago
tevador 9d5f621d5c Removed divideByConstantCodegen
5 years ago
tevador d9fcb34138 Fixed big endian load/store
5 years ago
tevador 88cf9d0728 Fixed 32-bit Windows build
5 years ago
tevador 219efce06c New command line options
5 years ago
tevador f930d5d4dc Fixed a bug in FSWAP_R
5 years ago
tevador c5309fae9e Fixed portable intrinsics compilation
5 years ago
tevador bf34d27ecd Portable SSE2 intrinsics
5 years ago
tevador 954365634e Fixed alignment of VirtualMachine
5 years ago
tevador dce8c74fa8 Fixed software AES in getResult
5 years ago
tevador 9a23bdb40d Fixed linux version of SquareHash
5 years ago
tevador bfd557dac5 Added reference result
5 years ago
tevador 923420f0a3 Fixed mining and verification mode not giving the same results
5 years ago
tevador a145caa185 Fixed JIT compiler not producing the same code as genAsm and genNative
5 years ago
tevador f0d52fcf4d Fixed dependent constants
5 years ago
tevador ff0c5a58b3 More compact bytecode
5 years ago
tevador 447e8a1d4f Simplified division in interpreted mode
5 years ago
tevador 1df975e583 Restored software AES support
5 years ago
tevador f76e8c2e20 Reworked "FNEG" instruction to make ASIC optimizations more difficult
5 years ago
tevador 376c868ca0 Fixed wrong REX prefix in FDIV_M code
5 years ago
tevador 5a89c9b28e Use allocExecutableMemory
5 years ago
tevador 0b1761a846 Refactoring: mining/verification mode
5 years ago
tevador 69764966c0 Position independent loads fixed #21
5 years ago
tevador b8ce504be6 Added comments to hashAes1Rx4 and fillAes1Rx4
5 years ago
tevador 2798d78717 Render imm32 as signed in RandomX code
5 years ago
tevador 32d827d0a6 Interpreter with bytecode
5 years ago
tevador a586751f6b Removed FPNEG instruction
5 years ago
tevador ac4462ad42 Renamed floating point instructions
5 years ago
tevador b417fd08ea 16 -> 8 chained programs
5 years ago
tevador 1ee94bef2a Added ISWAP instruction
5 years ago
tevador 20eb549725 Merged load/store of integer and FP registers
5 years ago
tevador 8f2abd6c05 NOP instruction
5 years ago
tevador 005c67f64c Added explicit STORE instructions
5 years ago
tevador d2cb086221 ASM code generator for "small" programs that fit into the uOP cache
5 years ago
tevador bd0dba88a8 4 scratchpad segments
5 years ago
tevador 16db607025 Scratchpad size increased to 1 MiB
5 years ago
tevador 93c324709b Related to previous changes
5 years ago
tevador 89bc68d093 Memory-bound dataset initialization
5 years ago
tevador 4fb168e249 Large page support for cache
5 years ago
tevador 8b1102ee05 Interpreter + async mode
5 years ago
tevador a7ffe8c19a Mix dataset cacheline with registers r0-r7
5 years ago
tevador 48d85643de Dataset intialization algorithm (AES)
5 years ago
tevador 67e741ff22 Reduced x86 code size by 512 bytes (and ecx -> and eax)
5 years ago
tevador 1426fcbab5 Print average program code size
5 years ago
tevador 2756bcdcfe Added magic division to JIT compiler
5 years ago
tevador 451dfc5730 Optimized division by constants
5 years ago
tevador c02ee4291d FPROUND - variable flag offset
5 years ago
tevador e487092f07 Simplified CALL and RET
5 years ago
tevador 557241cd95 JUMP instruction
5 years ago
tevador d1a808643d Random accesses - JIT compiler
5 years ago
tevador b71e0eec65 Optimizations to reduce code size under 32K
5 years ago
tevador b6d654291f 90 address transformations
5 years ago
tevador 2f6a599ff6 Inlined calls for memory read
5 years ago
tevador 6519fed4d1 Combined prefetch + read into a single step
5 years ago
tevador 4189e4ebc6 Original number of VM instructions
5 years ago
tevador 619bee5418 Random dataset accesses - asm only
5 years ago
tevador 3caecc7646 Vector FPU instructions
5 years ago
tevador a09bee8d60 js -> jz to enable macro-op fusion on Intel CPUs (~1% speed-up)
5 years ago
tevador 76b6b05cf2 Unconditional RET
5 years ago
tevador 39c569ae44 Fixed a potential crash in JitCompilerX86
5 years ago
tevador 5bc26348f1 Updated readme with performance data
5 years ago
tevador 03913d0e81 Run a single thread synchronously
5 years ago
tevador c05947db09 Bug fixes
5 years ago
tevador ca59925495 JitCompilerX86: use mmap to allocate an executable buffer
5 years ago
tevador 740c40b218 8 branch conditions for CALL/RET
5 years ago
tevador 55afe9646f Debuggable assembly generator
5 years ago
tevador fce6e75689 Fixed copyright notice
5 years ago
tevador ffa67295c4 Instruction statistics
5 years ago
tevador 1db7dd6e8b Renamed immediate constants
5 years ago
tevador b9d2d853aa Support for multiple threads
5 years ago
tevador cb12feaf91 t1ha2 hash for scratchpad digest
5 years ago
tevador ed0bc906d6 JIT compiler for x86
5 years ago
tevador ddc29cb4d3 Optimized x86 initialization
5 years ago
tevador 4f276541d2 Modified x86 register allocation
5 years ago
tevador 6332831ec1 Implemented cache shift
6 years ago
tevador d6ca408ce2 Merge branch 'master' of git@github.com:tevador/RandomX.git
6 years ago
tevador cb0721056a Assembly code generator for Windows 64-bit
6 years ago
Edward Vielmetti 8ef8224270
update ifdef for _rotr on aarch64
6 years ago
tevador c9102ee88c RandomX portable interpreter
6 years ago