x86 validator: Implement rewriting "movntq" to "movq" on x86-64

We were already doing this rewrite for x86-32.

We had previously checked the Web Store to find all the non-temporal
instructions that we need to handle and rewrite, but it looks like we
missed at least one -- "movntq" is being used.  The use might have
appeared after we did the check.

BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=598085
TEST=run_validation_rewrite_test run_rewrite_nontemporals_test run_validation_cache_test

Review URL: https://codereview.chromium.org/1836633002

(cherry picked from commit fb2c685d12b5a13cdb5b284b0ee1ee3c2080a769)

Review URL: https://codereview.chromium.org/1863433002
4 files changed
tree: 9af274603d3d55b03d14234313c1a2e8bf4a6a58
  1. build/
  2. buildbot/
  3. docs/
  4. documentation/
  5. infra/
  6. pnacl/
  7. pynacl/
  8. site_scons/
  9. src/
  10. tests/
  11. toolchain_build/
  12. toolchain_revisions/
  13. tools/
  14. .gitignore
  15. .gn
  17. BUILD.gn
  18. codereview.settings
  20. DEPS
  22. NOTICE
  23. OWNERS
  24. PRESUBMIT.py
  25. README.md
  26. run.py
  27. scons
  28. scons.bat
  29. scons.py
  30. SConstruct
  31. tests.gyp

Native Client

Welcome to Native Client. For the latest information about Native Client, see the Native Client project page.


Most of the Native Client project documentation is available online:

Directory structure

The following list describes major files and directories that you‘ll see in your working copy of the repository, including some directories that don’t exist until you've built Native Client. Paths are relative to the native_client directory.

  • COPYING NOTICE README.md RELEASE_NOTES documentation/: Documentation, release, and license information.

  • SConstruct scons.bat scons scons-out/ site_scons/: Build-related files. The scons.bat and scons files, with data from SConstruct, let you build Native Client and its tests. The scons-out and site-scons directories don‘t exist in the git repository; they’re created when Native Client is built. The scons-out/*/staging directories contain files, such as the Native Client plug-in and compiled examples, that let you use and test Native Client.

  • src/: Core source code for Native Client.

  • src/include/: Header files that are missing from some platforms and are used by more than one major part of Native Client

  • src/shared/: Source code that's used by both trusted code (such as the service runtime) and untrusted code (such as Native Client modules)

  • src/third_party: Other people's source code

  • src/trusted/: Source code that's used only by trusted code

  • src/untrusted/: Source code that's used only by untrusted code

  • tests/common/: Source code for examples and tests.

  • ../third_party/: Third-party source code and binaries that aren't part of the service runtime. When built, the Native Client toolchain is in src/third_party/nacl_sdk/.

  • tools/: Utilities such as the plug-in installer.