[llvm] [NVPTX] Add Volta Atomic SequentiallyConsistent Load and Store Operations (PR #98551)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 26 01:10:14 PDT 2024


================
@@ -1,169 +1,7 @@
 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_70 -mattr=+ptx82 | FileCheck %s
 ; RUN: %if ptxas-12.2 %{ llc < %s -march=nvptx64 -mcpu=sm_70 -mattr=+ptx82 | %ptxas-verify -arch=sm_70 %}
 
-; CHECK-LABEL: generic_plain
----------------
gonzalobg wrote:

> Why were these removed? I think it still makes sense to make sure that plain non-atomic loads/stores still work as expected. It may be redundant with other load/store tests. In that case please add a comment 'plain loads/stores without atomic modifiers are tested in ....'

- `load-store.ll` contains all tests that are supported by all sms, covering sm20 and sm70 using different checks. 
- `load-store-sm70.ll` only contains the ones that require sm70+.

The generic plain tests in load-store-sm70.ll were duplicates from load-store.ll. They were testing different codegen, but the test was the same, so now they are covered there via different checks. 

Does that make sense? 

I'll add comments.

> Also, if the file is now testing only atomic loads/stores, it would make sense to rename it accordingly. 

Right now they only cover atomic loads/stores, but they will cover other new ops eventually, like for example `.b128` weak (non-atomic) loads/stores, and newer ops that were made available later. 

Once we add `syncscope` support, there will also be a `-sm-90` version of these tests to cover things like `cluster` scope.

https://github.com/llvm/llvm-project/pull/98551


More information about the llvm-commits mailing list