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

Intel JCC bug #263

Closed
beached opened this issue Jul 27, 2020 · 3 comments
Closed

Intel JCC bug #263

beached opened this issue Jul 27, 2020 · 3 comments

Comments

@beached
Copy link
Contributor

beached commented Jul 27, 2020

gcc supports a work around for the Intel JCC bug, but it is opt in via -Wa,-mbranches-within-32B-boundaries command line option. There is a performance regression in most modern Intel chips when conditionals overlap or end on 32bit boundaries.

Background: https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf

nuald added a commit to nuald/benchmarks that referenced this issue Aug 30, 2020
nuald added a commit that referenced this issue Aug 30, 2020
* Added workaround for Intel JCC bug (#263).

* Maintenance update.
@nuald
Copy link
Collaborator

nuald commented Aug 30, 2020

Fixed for GCC. Apparently, Clang has the similar option, but it's not available in the stable version yet.

@nuald nuald closed this as completed Aug 30, 2020
@beached
Copy link
Contributor Author

beached commented Aug 30, 2020

It should be in clang 10, -mbranches-within-32B-boundaries is the option.

@nuald
Copy link
Collaborator

nuald commented Aug 31, 2020

Thanks, I couldn't find this option in their docs. Updated the flags, and provided new results (it's only one test now).

nuald added a commit to nuald/benchmarks that referenced this issue Sep 21, 2020
* Added workaround for Intel JCC bug (kostya#263).

* Maintenance update.
nuald added a commit to nuald/benchmarks that referenced this issue Oct 31, 2020
* Added workaround for Intel JCC bug (kostya#263).

* Maintenance update.
nuald added a commit that referenced this issue Dec 3, 2020
* Re-run bf mandel tests (addressing #258).

* Maintenance update (#261)

* Re-run bf mandel tests (addressing #258).
* Preparation for Perl 7.
* Lua module conflicts have been resolved.

* Update README.md

Fixed UPDATE date.

* Maintenance update (#265)

* Added workaround for Intel JCC bug (#263).

* Maintenance update.

* Added JCC bugfix flag to clang. (#266)

* Vala numbers have been updated. (#268)

* Update test_dawjsonlink.cpp (#271)

Updated code to reflect API changes in v2 of DAW JSON Link

* Maintenance update with the renamed tests (#269). (#270)

* Switch the simdjson code to On Demand (#272)

* Updating simdjson to 0.6 API (on demand).

* Making things safer by specifying the commit + removing unnecessary std:: qualifiers.

* Minor changes following review

* Maintenance update and simdjson test changes (#273)

* Maintenance update

* Maintenance update and simdjson test changes.

* The JSON key ordering tests have been added. (#275)

* Boost.JSON test has been added and the old test has been renamed. (#277)

* Updated to use better numbers for floating point ops, changed Boost.JSON test to use doubles. (#279)

* Improved precisions of the tests (#281)

* Median cals have been added.

* Try another formatting.

* Changed memory calculations.

* Printing has been moved out from JSON benchmarks.

* Up-to-dated results.

* TOC updated.

* Typo

* Added printer to Scheme langs.

* Racket code has been fixed to use idiomatic struct instead of macros.

* C++ and Kotlin tests have been updated.

* D tests have been fixed to use proper initializations.

* Go and Elixir tests have improved.

* Nim microoptimization have been removed.

* Julia test has been updated.

* All haskell tests have been updated.

* Lua tests have been improved.

* OCaml tests have been improved.

* SML tests have been improved.

* Fsharp test has been improved.

* Tcl tests have been improved.

* Perl tests have been updated to use v5.32.

* Other tests have been fixed.

* Haskell networking has been fixed.

* Fixed JS code.

Co-authored-by: Darrell Wright <beached@users.noreply.github.com>
Co-authored-by: Daniel Lemire <lemire@gmail.com>
nuald added a commit to nuald/benchmarks that referenced this issue Dec 4, 2020
* Re-run bf mandel tests (addressing kostya#258).

* Maintenance update (kostya#261)

* Re-run bf mandel tests (addressing kostya#258).
* Preparation for Perl 7.
* Lua module conflicts have been resolved.

* Update README.md

Fixed UPDATE date.

* Maintenance update (kostya#265)

* Added workaround for Intel JCC bug (kostya#263).

* Maintenance update.

* Added JCC bugfix flag to clang. (kostya#266)

* Vala numbers have been updated. (kostya#268)

* Update test_dawjsonlink.cpp (kostya#271)

Updated code to reflect API changes in v2 of DAW JSON Link

* Maintenance update with the renamed tests (kostya#269). (kostya#270)

* Switch the simdjson code to On Demand (kostya#272)

* Updating simdjson to 0.6 API (on demand).

* Making things safer by specifying the commit + removing unnecessary std:: qualifiers.

* Minor changes following review

* Maintenance update and simdjson test changes (kostya#273)

* Maintenance update

* Maintenance update and simdjson test changes.

* The JSON key ordering tests have been added. (kostya#275)

* Boost.JSON test has been added and the old test has been renamed. (kostya#277)

* Updated to use better numbers for floating point ops, changed Boost.JSON test to use doubles. (kostya#279)

* Improved precisions of the tests (kostya#281)

* Median cals have been added.

* Try another formatting.

* Changed memory calculations.

* Printing has been moved out from JSON benchmarks.

* Up-to-dated results.

* TOC updated.

* Typo

* Added printer to Scheme langs.

* Racket code has been fixed to use idiomatic struct instead of macros.

* C++ and Kotlin tests have been updated.

* D tests have been fixed to use proper initializations.

* Go and Elixir tests have improved.

* Nim microoptimization have been removed.

* Julia test has been updated.

* All haskell tests have been updated.

* Lua tests have been improved.

* OCaml tests have been improved.

* SML tests have been improved.

* Fsharp test has been improved.

* Tcl tests have been improved.

* Perl tests have been updated to use v5.32.

* Other tests have been fixed.

* Haskell networking has been fixed.

* Fixed JS code.

Co-authored-by: Darrell Wright <beached@users.noreply.github.com>
Co-authored-by: Daniel Lemire <lemire@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants