2626"""
2727)
2828
29+
2930def get_addrspace_cast (addrspace ):
3031 if addrspace == 0 :
3132 return ""
3233 else :
3334 return " addrspace({})" .format (str (addrspace ))
3435
36+
3537TESTS = [(60 , 50 ), (70 , 63 ), (90 , 87 )]
3638
3739LLVM_SCOPES = ["" , "block" , "cluster" , "device" ]
@@ -49,7 +51,6 @@ def get_addrspace_cast(addrspace):
4951ADDRSPACE_NUM_TO_ADDRSPACE = {0 : "generic" , 1 : "global" , 3 : "shared" }
5052
5153
52-
5354if __name__ == "__main__" :
5455 for sm , ptx in TESTS :
5556 with open ("cmpxchg-sm{}.ll" .format (str (sm )), "w" ) as fp :
@@ -64,7 +65,7 @@ def get_addrspace_cast(addrspace):
6465 for size , success , failure in product (
6566 SIZES , SUCCESS_ORDERINGS , FAILURE_ORDERINGS
6667 ):
67- print (
68+ print (
6869 cmpxchg_func .substitute (
6970 success = success ,
7071 failure = failure ,
@@ -81,7 +82,7 @@ def get_addrspace_cast(addrspace):
8182 # fix addrspace, ordering, generate all possible scopes, for operation sizes i8, i32
8283 addrspace , success , failure = 1 , "acq_rel" , "acquire"
8384 for size in [8 , 32 ]:
84- print (
85+ print (
8586 cmpxchg_func_no_scope .substitute (
8687 success = success ,
8788 failure = failure ,
@@ -110,13 +111,11 @@ def get_addrspace_cast(addrspace):
110111 ),
111112 file = fp ,
112113 )
113-
114- # Third slice: Are all address spaces correctly supported?
115- # fix ordering, scope, generate all possible address spaces, for operation sizes i8, i32
114+
115+ # Third slice: Are all address spaces correctly supported?
116+ # fix ordering, scope, generate all possible address spaces, for operation sizes i8, i32
116117 success , failure , llvm_scope = "acq_rel" , "acquire" , "block"
117- for size , addrspace in product (
118- [8 , 32 ], ADDRSPACES
119- ):
118+ for size , addrspace in product ([8 , 32 ], ADDRSPACES ):
120119 if addrspace == 1 :
121120 # skip (acq_rel, acquire, global, cta)
122121 continue
0 commit comments