brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 69b9157 Raw
97 lines · plain
1; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-DAG: %[[#Long:]] = OpTypeInt 64 05; CHECK-COUNT-9: %[[#]] = OpAtomicExchange %[[#Long]] %[[#]] %[[#]] %[[#]] %[[#]]6 7%Type1 = type { i64 }8%Type2 = type { ptr addrspace(4) }9 10define linkonce_odr dso_local spir_func void @f1() {11entry:12  %a = alloca %Type1, align 813  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)14  %p = ptrtoint ptr addrspace(4) %a.ascast to i6415  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePyN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEy(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 3)16  ret void17}18 19define linkonce_odr dso_local spir_func void @f2() {20entry:21  %a = alloca %Type1, align 822  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)23  %p = ptrtoint ptr addrspace(4) %a.ascast to i6424  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePxN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEx(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 3)25  ret void26}27 28define linkonce_odr dso_local spir_func void @f3() {29entry:30  %a = alloca %Type1, align 831  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)32  %p = ptrtoint ptr addrspace(4) %a.ascast to i6433  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 3)34  ret void35}36 37define linkonce_odr dso_local spir_func void @f4() {38entry:39  %a = alloca %Type1, align 840  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)41  %p = ptrtoint ptr addrspace(4) %a.ascast to i6442  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePlN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEl(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 3)43  ret void44}45 46 47define linkonce_odr dso_local spir_func void @f5() {48entry:49  %a = alloca %Type2, align 850  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)51  %p = ptrtoint ptr addrspace(4) %a.ascast to i6452  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 %p)53  ret void54}55 56define linkonce_odr dso_local spir_func void @f6() {57entry:58  %a = alloca %Type2, align 859  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)60  %p = ptrtoint ptr addrspace(4) %a.ascast to i6461  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 %p)62  ret void63}64 65define linkonce_odr dso_local spir_func void @f7() {66entry:67  %a = alloca %Type2, align 868  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)69  %p = ptrtoint ptr addrspace(4) %a.ascast to i6470  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 %p)71  ret void72}73 74define linkonce_odr dso_local spir_func void @f8() {75entry:76  %a = alloca %Type2, align 877  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)78  %p = ptrtoint ptr addrspace(4) %a.ascast to i6479  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 %p)80  ret void81}82 83; Function Attrs: convergent mustprogress norecurse nounwind84define linkonce_odr dso_local spir_func void @f9() {85entry:86  %a = alloca %Type2, align 887  %a.ascast = addrspacecast ptr %a to ptr addrspace(4)88  %p = ptrtoint ptr addrspace(4) %a.ascast to i6489  %res = call spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4) %a.ascast, i32 0, i32 912, i64 %p)90  ret void91}92 93declare dso_local spir_func i64 @_Z22__spirv_AtomicExchangePyN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEy(ptr addrspace(4), i32, i32, i64)94declare dso_local spir_func i64 @_Z22__spirv_AtomicExchangePxN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEx(ptr addrspace(4), i32, i32, i64)95declare dso_local spir_func i64 @_Z22__spirv_AtomicExchangePmN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEm(ptr addrspace(4), i32, i32, i64)96declare dso_local spir_func i64 @_Z22__spirv_AtomicExchangePlN5__spv5Scope4FlagENS0_19MemorySemanticsMask4FlagEl(ptr addrspace(4), i32, i32, i64)97