Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression tests #73

Merged
merged 1 commit into from Jun 22, 2019

Conversation

@tevador
Copy link
Owner

commented Jun 19, 2019

  • instruction decode/execute separated into class BytecodeMachine
  • randomx-tests project with test vectors
  • removed the use of non-portable __COUNTER__ macro
  • removed the use of unsupported FENV_ACCESS pragma

Test output:

[ 1] Cache initialization                     ... PASSED
[ 2] SuperscalarHash generator                ... PASSED
[ 3] Dataset initialization (interpreter)     ... PASSED
[ 4] Dataset initialization (compiler)        ... PASSED
[ 5] randomx_reciprocal                       ... PASSED
[ 6] randomx_reciprocal_fast                  ... PASSED
[ 7] IADD_RS (decode)                         ... PASSED
[ 8] IADD_RS (execute)                        ... PASSED
[ 9] IADD_RS with immediate (decode)          ... PASSED
[10] IADD_RS with immediate (decode)          ... PASSED
[11] IADD_M (decode)                          ... PASSED
[12] ISUB_R (decode)                          ... PASSED
[13] ISUB_R (execute)                         ... PASSED
[14] ISUB_R with immediate (decode)           ... PASSED
[15] ISUB_R with immediate (decode)           ... PASSED
[16] ISUB_M (decode)                          ... PASSED
[17] IMUL_R (decode)                          ... PASSED
[18] IMUL_R (execute)                         ... PASSED
[19] IMUL_R with immediate (decode)           ... PASSED
[20] IMUL_R with immediate (execute)          ... PASSED
[21] IMUL_M (decode)                          ... PASSED
[22] IMULH_R (decode)                         ... PASSED
[23] IMULH_R (execute)                        ... PASSED
[24] IMULH_R squared (decode)                 ... PASSED
[25] IMULH_M (decode)                         ... PASSED
[26] ISMULH_R (decode)                        ... PASSED
[27] ISMULH_R (execute)                       ... PASSED
[28] ISMULH_R squared (decode)                ... PASSED
[29] ISMULH_M (decode)                        ... PASSED
[30] IMUL_RCP (decode)                        ... PASSED
[31] IMUL_RCP zero imm32 (decode)             ... PASSED
[32] INEG_R (decode)                          ... PASSED
[33] INEG_R (execute)                         ... PASSED
[34] IXOR_R (decode)                          ... PASSED
[35] IXOR_R (execute)                         ... PASSED
[36] IXOR_R with immediate (decode)           ... PASSED
[37] IXOR_R with immediate (execute)          ... PASSED
[38] IXOR_M (decode)                          ... PASSED
[39] IROR_R (decode)                          ... PASSED
[40] IROR_R (execute)                         ... PASSED
[41] IROL_R (decode)                          ... SKIPPED
[42] IROL_R (execute)                         ... SKIPPED
[43] ISWAP_R (decode)                         ... PASSED
[44] ISWAP_R (execute)                        ... PASSED
[45] FSWAP_R (decode)                         ... PASSED
[46] FSWAP_R (execute)                        ... PASSED
[47] FADD_R (decode)                          ... PASSED
[48] FADD_R RoundToNearest (execute)          ... PASSED
[49] FADD_R RoundDown (execute)               ... PASSED
[50] FADD_R RoundUp (execute)                 ... PASSED
[51] FADD_R RoundToZero (execute)             ... PASSED
[52] FADD_M (decode)                          ... PASSED
[53] FADD_M (execute)                         ... PASSED
[54] FSUB_R (decode)                          ... PASSED
[55] FSUB_M (decode)                          ... PASSED
[56] FSCAL_R (decode)                         ... PASSED
[57] FSCAL_R (execute)                        ... PASSED
[58] FMUL_R (decode)                          ... PASSED
[59] FMUL_R RoundToNearest (execute)          ... PASSED
[60] FMUL_R RoundDown/RoundToZero (execute)   ... PASSED
[61] FMUL_R RoundUp (execute)                 ... PASSED
[62] FDIV_M (decode)                          ... PASSED
[63] FDIV_M RoundToNearest (execute)          ... PASSED
[64] FDIV_M RoundDown/RoundToZero (execute)   ... PASSED
[65] FDIV_M RoundUp (execute)                 ... PASSED
[66] FSQRT_R (decode)                         ... PASSED
[67] FSQRT_R RoundToNearest (execute)         ... PASSED
[68] FSQRT_R RoundDown/RoundToZero (execute)  ... PASSED
[69] FSQRT_R RoundUp (execute)                ... PASSED
[70] CBRANCH (decode) 100                     ... PASSED
[71] CBRANCH (decode) 200                     ... PASSED
[72] CBRANCH not taken (execute)              ... PASSED
[73] CBRANCH taken (execute)                  ... PASSED
[74] CFROUND (decode)                         ... PASSED
[75] ISTORE L1 (decode)                       ... PASSED
[76] ISTORE L2 (decode)                       ... PASSED
[77] ISTORE L3 (decode)                       ... PASSED
[78] Hash test 1a (interpreter)               ... PASSED
[79] Hash test 1b (interpreter)               ... PASSED
[80] Hash test 1c (interpreter)               ... PASSED
[81] Hash test 1d (interpreter)               ... PASSED
[82] Hash test 1e (interpreter)               ... PASSED
[83] Hash test 2a (compiler)                  ... PASSED
[84] Hash test 2b (compiler)                  ... PASSED
[85] Hash test 2c (compiler)                  ... PASSED
[86] Hash test 2d (compiler)                  ... PASSED
[87] Hash test 2e (compiler)                  ... PASSED

All tests PASSED
2 tests were SKIPPED due to incompatible configuration (see above)
Regression tests
* instruction decode/execute separated into class BytecodeMachine
* added randomx-tests project
* removed the use of non-portable __COUNTER__ macro
* removed the use of unsupported FENV_ACCESS pragma
@SChernykh SChernykh referenced this pull request Jun 22, 2019

@tevador tevador merged commit 07293a9 into master Jun 22, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.