brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 90b2308 Raw
67 lines · plain
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_80 -mattr=+ptx70 | FileCheck %s2; RUN: %if ptxas-sm_80 && ptxas-isa-7.0 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_80 -mattr=+ptx70 | %ptxas-verify -arch=sm_80 %}3 4declare i32 @llvm.nvvm.redux.sync.umin(i32, i32)5; CHECK-LABEL: .func{{.*}}redux_sync_min_u326define i32 @redux_sync_min_u32(i32 %src, i32 %mask) {7  ; CHECK: redux.sync.min.u328  %val = call i32 @llvm.nvvm.redux.sync.umin(i32 %src, i32 %mask)9  ret i32 %val10}11 12declare i32 @llvm.nvvm.redux.sync.umax(i32, i32)13; CHECK-LABEL: .func{{.*}}redux_sync_max_u3214define i32 @redux_sync_max_u32(i32 %src, i32 %mask) {15  ; CHECK: redux.sync.max.u3216  %val = call i32 @llvm.nvvm.redux.sync.umax(i32 %src, i32 %mask)17  ret i32 %val18}19 20declare i32 @llvm.nvvm.redux.sync.add(i32, i32)21; CHECK-LABEL: .func{{.*}}redux_sync_add_s3222define i32 @redux_sync_add_s32(i32 %src, i32 %mask) {23  ; CHECK: redux.sync.add.s3224  %val = call i32 @llvm.nvvm.redux.sync.add(i32 %src, i32 %mask)25  ret i32 %val26}27 28declare i32 @llvm.nvvm.redux.sync.min(i32, i32)29; CHECK-LABEL: .func{{.*}}redux_sync_min_s3230define i32 @redux_sync_min_s32(i32 %src, i32 %mask) {31  ; CHECK: redux.sync.min.s3232  %val = call i32 @llvm.nvvm.redux.sync.min(i32 %src, i32 %mask)33  ret i32 %val34}35 36declare i32 @llvm.nvvm.redux.sync.max(i32, i32)37; CHECK-LABEL: .func{{.*}}redux_sync_max_s3238define i32 @redux_sync_max_s32(i32 %src, i32 %mask) {39  ; CHECK: redux.sync.max.s3240  %val = call i32 @llvm.nvvm.redux.sync.max(i32 %src, i32 %mask)41  ret i32 %val42}43 44declare i32 @llvm.nvvm.redux.sync.and(i32, i32)45; CHECK-LABEL: .func{{.*}}redux_sync_and_b3246define i32 @redux_sync_and_b32(i32 %src, i32 %mask) {47  ; CHECK: redux.sync.and.b3248  %val = call i32 @llvm.nvvm.redux.sync.and(i32 %src, i32 %mask)49  ret i32 %val50}51 52declare i32 @llvm.nvvm.redux.sync.xor(i32, i32)53; CHECK-LABEL: .func{{.*}}redux_sync_xor_b3254define i32 @redux_sync_xor_b32(i32 %src, i32 %mask) {55  ; CHECK: redux.sync.xor.b3256  %val = call i32 @llvm.nvvm.redux.sync.xor(i32 %src, i32 %mask)57  ret i32 %val58}59 60declare i32 @llvm.nvvm.redux.sync.or(i32, i32)61; CHECK-LABEL: .func{{.*}}redux_sync_or_b3262define i32 @redux_sync_or_b32(i32 %src, i32 %mask) {63  ; CHECK: redux.sync.or.b3264  %val = call i32 @llvm.nvvm.redux.sync.or(i32 %src, i32 %mask)65  ret i32 %val66}67