brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 8d24c38 Raw
38 lines · plain
1// RUN: mlir-opt %s -cse -split-input-file -verify-diagnostics | FileCheck %s2 3// CHECK-LABEL: @nvvm_special_regs_clock4llvm.func @nvvm_special_regs_clock() -> !llvm.struct<(i32, i32)> {5  %0 = llvm.mlir.zero: !llvm.struct<(i32, i32)>6  // CHECK:  {{.*}} = nvvm.read.ptx.sreg.clock7  %1 = nvvm.read.ptx.sreg.clock : i328  // CHECK:  {{.*}} = nvvm.read.ptx.sreg.clock9  %2 = nvvm.read.ptx.sreg.clock : i3210  %4 = llvm.insertvalue %1, %0[0]: !llvm.struct<(i32, i32)>11  %5 = llvm.insertvalue %2, %4[1]: !llvm.struct<(i32, i32)>12  llvm.return %5: !llvm.struct<(i32, i32)>13}14 15// CHECK-LABEL: @nvvm_special_regs_clock6416llvm.func @nvvm_special_regs_clock64() -> !llvm.struct<(i64, i64)> {17  %0 = llvm.mlir.zero: !llvm.struct<(i64, i64)>18  // CHECK:  {{.*}} = nvvm.read.ptx.sreg.clock6419  %1 = nvvm.read.ptx.sreg.clock64 : i6420  // CHECK:  {{.*}} = nvvm.read.ptx.sreg.clock6421  %2 = nvvm.read.ptx.sreg.clock64 : i6422  %4 = llvm.insertvalue %1, %0[0]: !llvm.struct<(i64, i64)>23  %5 = llvm.insertvalue %2, %4[1]: !llvm.struct<(i64, i64)>24  llvm.return %5: !llvm.struct<(i64, i64)>25}26 27// CHECK-LABEL: @nvvm_special_regs_globaltimer28llvm.func @nvvm_special_regs_globaltimer() -> !llvm.struct<(i64, i64)> {29  %0 = llvm.mlir.zero: !llvm.struct<(i64, i64)>30  // CHECK:  {{.*}} = nvvm.read.ptx.sreg.globaltimer31  %1 = nvvm.read.ptx.sreg.globaltimer : i6432  // CHECK:  {{.*}} = nvvm.read.ptx.sreg.globaltimer33  %2 = nvvm.read.ptx.sreg.globaltimer : i6434  %4 = llvm.insertvalue %1, %0[0]: !llvm.struct<(i64, i64)>35  %5 = llvm.insertvalue %2, %4[1]: !llvm.struct<(i64, i64)>36  llvm.return %5: !llvm.struct<(i64, i64)>37}38