67 lines · plain
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_30 -mattr=+ptx60 | FileCheck %s2; RUN: %if ptxas-isa-6.0 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_30 -mattr=+ptx60 | %ptxas-verify %}3 4declare i1 @llvm.nvvm.vote.all(i1)5; CHECK-LABEL: .func{{.*}}vote_all6define i1 @vote_all(i1 %pred) {7 ; CHECK: vote.all.pred8 %val = call i1 @llvm.nvvm.vote.all(i1 %pred)9 ret i1 %val10}11 12declare i1 @llvm.nvvm.vote.any(i1)13; CHECK-LABEL: .func{{.*}}vote_any14define i1 @vote_any(i1 %pred) {15 ; CHECK: vote.any.pred16 %val = call i1 @llvm.nvvm.vote.any(i1 %pred)17 ret i1 %val18}19 20declare i1 @llvm.nvvm.vote.uni(i1)21; CHECK-LABEL: .func{{.*}}vote_uni22define i1 @vote_uni(i1 %pred) {23 ; CHECK: vote.uni.pred24 %val = call i1 @llvm.nvvm.vote.uni(i1 %pred)25 ret i1 %val26}27 28declare i32 @llvm.nvvm.vote.ballot(i1)29; CHECK-LABEL: .func{{.*}}vote_ballot30define i32 @vote_ballot(i1 %pred) {31 ; CHECK: vote.ballot.b3232 %val = call i32 @llvm.nvvm.vote.ballot(i1 %pred)33 ret i32 %val34}35 36declare i1 @llvm.nvvm.vote.all.sync(i32, i1)37; CHECK-LABEL: .func{{.*}}vote_sync_all38define i1 @vote_sync_all(i32 %mask, i1 %pred) {39 ; CHECK: vote.sync.all.pred40 %val = call i1 @llvm.nvvm.vote.all.sync(i32 %mask, i1 %pred)41 ret i1 %val42}43 44declare i1 @llvm.nvvm.vote.any.sync(i32, i1)45; CHECK-LABEL: .func{{.*}}vote_sync_any46define i1 @vote_sync_any(i32 %mask, i1 %pred) {47 ; CHECK: vote.sync.any.pred48 %val = call i1 @llvm.nvvm.vote.any.sync(i32 %mask, i1 %pred)49 ret i1 %val50}51 52declare i1 @llvm.nvvm.vote.uni.sync(i32, i1)53; CHECK-LABEL: .func{{.*}}vote_sync_uni54define i1 @vote_sync_uni(i32 %mask, i1 %pred) {55 ; CHECK: vote.sync.uni.pred56 %val = call i1 @llvm.nvvm.vote.uni.sync(i32 %mask, i1 %pred)57 ret i1 %val58}59 60declare i32 @llvm.nvvm.vote.ballot.sync(i32, i1)61; CHECK-LABEL: .func{{.*}}vote_sync_ballot62define i32 @vote_sync_ballot(i32 %mask, i1 %pred) {63 ; CHECK: vote.sync.ballot.b3264 %val = call i32 @llvm.nvvm.vote.ballot.sync(i32 %mask, i1 %pred)65 ret i32 %val66}67