diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-13 18:48:50 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-13 18:48:50 +0000 |
commit | 84abec2855ad9803104b93e0893dc2a7191b1fd6 (patch) | |
tree | 1746f6932c4e926ad75fbcce1f0dc7d5213e257d /llvm/tools/llvm-readobj/ELFDumper.cpp | |
parent | e1be3403ff823cc6df11bb68849cb7bcb8a6a9e0 (diff) | |
download | bcm5719-llvm-84abec2855ad9803104b93e0893dc2a7191b1fd6.tar.gz bcm5719-llvm-84abec2855ad9803104b93e0893dc2a7191b1fd6.zip |
[X86] Check for 64-bit mode in X86Subtarget::hasCmpxchg16b()
The feature flag alone can't be trusted since it can be passed via -mattr. Need to ensure 64-bit mode as well.
We had a 64 bit mode check on the instruction to make the assembler work correctly. But we weren't guarding any of our lowering code or the hooks for the AtomicExpandPass.
I've added 32-bit command lines to atomic128.ll with and without cx16. The tests there would all previously fail if -mattr=cx16 was passed to them. I had to move one test case for f128 to a new file as it seems to have a different 32-bit mode or possibly sse issue.
Differential Revision: https://reviews.llvm.org/D59308
llvm-svn: 356078
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
0 files changed, 0 insertions, 0 deletions