// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s // CHECK-LABEL: @test_nvvm_elect_sync llvm.func @test_nvvm_elect_sync() -> i1 { // CHECK: %[[RES:.*]] = call { i32, i1 } @llvm.nvvm.elect.sync(i32 -1) // CHECK-NEXT: %[[PRED:.*]] = extractvalue { i32, i1 } %[[RES]], 1 // CHECK-NEXT: ret i1 %[[PRED]] %0 = nvvm.elect.sync -> i1 llvm.return %0 : i1 } // CHECK-LABEL: @test_nvvm_elect_sync_mask llvm.func @test_nvvm_elect_sync_mask(%mask : i32) -> i1 { // CHECK: %[[RES:.*]] = call { i32, i1 } @llvm.nvvm.elect.sync(i32 %0) // CHECK-NEXT: %[[PRED:.*]] = extractvalue { i32, i1 } %[[RES]], 1 // CHECK-NEXT: ret i1 %[[PRED]] %0 = nvvm.elect.sync %mask -> i1 llvm.return %0 : i1 }