[llvm] a4b1f7a - AMDGPU: Add some tests for atomics with excess alignment

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 19 16:29:06 PDT 2022


Author: Matt Arsenault
Date: 2022-09-19T19:27:21-04:00
New Revision: a4b1f7a8b581b757992e9977a17d0d14426fdcb7

URL: https://github.com/llvm/llvm-project/commit/a4b1f7a8b581b757992e9977a17d0d14426fdcb7
DIFF: https://github.com/llvm/llvm-project/commit/a4b1f7a8b581b757992e9977a17d0d14426fdcb7.diff

LOG: AMDGPU: Add some tests for atomics with excess alignment

Added: 
    

Modified: 
    llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
index fe79e37c4e7e..b5b7661298f5 100644
--- a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
+++ b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
@@ -11,6 +11,15 @@ define i16 @test_atomicrmw_xchg_i16_global(i16 addrspace(1)* %ptr, i16 %value) {
   ret i16 %res
 }
 
+define i16 @test_atomicrmw_xchg_i16_global_align4(i16 addrspace(1)* %ptr, i16 %value) {
+; CHECK-LABEL: @test_atomicrmw_xchg_i16_global_align4(
+; CHECK-NEXT:    [[RES:%.*]] = atomicrmw xchg i16 addrspace(1)* [[PTR:%.*]], i16 [[VALUE:%.*]] seq_cst, align 4
+; CHECK-NEXT:    ret i16 [[RES]]
+;
+  %res = atomicrmw xchg i16 addrspace(1)* %ptr, i16 %value seq_cst, align 4
+  ret i16 %res
+}
+
 define i16 @test_atomicrmw_add_i16_global(i16 addrspace(1)* %ptr, i16 %value) {
 ; CHECK-LABEL: @test_atomicrmw_add_i16_global(
 ; CHECK-NEXT:    [[RES:%.*]] = atomicrmw add i16 addrspace(1)* [[PTR:%.*]], i16 [[VALUE:%.*]] seq_cst, align 2
@@ -20,6 +29,15 @@ define i16 @test_atomicrmw_add_i16_global(i16 addrspace(1)* %ptr, i16 %value) {
   ret i16 %res
 }
 
+define i16 @test_atomicrmw_add_i16_global_align4(i16 addrspace(1)* %ptr, i16 %value) {
+; CHECK-LABEL: @test_atomicrmw_add_i16_global_align4(
+; CHECK-NEXT:    [[RES:%.*]] = atomicrmw add i16 addrspace(1)* [[PTR:%.*]], i16 [[VALUE:%.*]] seq_cst, align 4
+; CHECK-NEXT:    ret i16 [[RES]]
+;
+  %res = atomicrmw add i16 addrspace(1)* %ptr, i16 %value seq_cst, align 4
+  ret i16 %res
+}
+
 define i16 @test_atomicrmw_sub_i16_global(i16 addrspace(1)* %ptr, i16 %value) {
 ; CHECK-LABEL: @test_atomicrmw_sub_i16_global(
 ; CHECK-NEXT:    [[RES:%.*]] = atomicrmw sub i16 addrspace(1)* [[PTR:%.*]], i16 [[VALUE:%.*]] seq_cst, align 2


        


More information about the llvm-commits mailing list