diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h b/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h index 6ee529c8549..2cc48a7f9f2 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h @@ -323,6 +323,14 @@ public: return HasMadMixInsts; } + bool hasSBufferLoadStoreAtomicDwordxN() const { + // Only use the "x1" variants on GFX9 or don't use the buffer variants. + // For x2 and higher variants, if the accessed region spans 2 VM pages and + // the second page is unmapped, the hw hangs. + // TODO: There is one future GFX9 chip that doesn't have this bug. + return getGeneration() != GFX9; + } + bool hasCARRY() const { return (getGeneration() >= EVERGREEN); } |

