diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-08-01 17:18:14 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-08-01 17:18:14 +0000 |
| commit | 2a5bba73255f54338f0d6862bf5bf3a6de6cbd8d (patch) | |
| tree | 55bc68122c7308b3f92994d7e230de58ff87d862 /clang/lib/Format/WhitespaceManager.cpp | |
| parent | e925caf41659d059457561484267b3c286d2d58a (diff) | |
| download | bcm5719-llvm-2a5bba73255f54338f0d6862bf5bf3a6de6cbd8d.tar.gz bcm5719-llvm-2a5bba73255f54338f0d6862bf5bf3a6de6cbd8d.zip | |
[X86] Use BEXTR/BEXTRI for 64-bit 'and' with a large mask
Summary: The 64-bit 'and' with immediate instruction only supports a 32-bit immediate. So for larger constants we have to load the constant into a register first. If the immediate happens to be a mask we can use the BEXTRI instruction to perform the masking. We already do something similar using the BZHI instruction from the BMI2 instruction set.
Reviewers: RKSimon, spatel
Reviewed By: RKSimon
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D36129
llvm-svn: 309706
Diffstat (limited to 'clang/lib/Format/WhitespaceManager.cpp')
0 files changed, 0 insertions, 0 deletions

