// RUN: mlir-opt %s --convert-amdgpu-to-rocdl=chipset=gfx1250 --split-input-file --verify-diagnostics | FileCheck %s // CHECK-LABEL: @glb_prefetch0 func.func @glb_prefetch0(%src : memref<64x64xf16, #gpu.address_space>, %i : i64, %j : i64) { // CHECK: %[[PTR:.*]] = llvm.getelementptr inbounds|nuw %{{.*}}[%{{.*}}] : (!llvm.ptr<1>, i64) -> !llvm.ptr<1>, f16 // CHECK: rocdl.global.prefetch %[[PTR]], scope 3 : !llvm.ptr<1> amdgpu.global_prefetch %src[%i, %j] HT WGP : memref<64x64xf16, #gpu.address_space> func.return } // CHECK-LABEL: @glb_prefetch1 func.func @glb_prefetch1(%src : memref<64x64xf16, #gpu.address_space>, %i : i64, %j : i64) { // CHECK: %[[PTR:.*]] = llvm.getelementptr %{{.*}}[%{{.*}}] : (!llvm.ptr<1>, i64) -> !llvm.ptr<1>, f16 // CHECK: rocdl.global.prefetch %[[PTR]], scope 10 : !llvm.ptr<1> amdgpu.global_prefetch %src[%i, %j] HT SE speculative : memref<64x64xf16, #gpu.address_space> func.return } // CHECK-LABEL: @glb_prefetch2 func.func @glb_prefetch2(%src : memref<64x64xf16, #gpu.address_space>, %i : i64, %j : i64) { // CHECK: %[[PTR:.*]] = llvm.getelementptr %{{.*}}[%{{.*}}] : (!llvm.ptr<1>, i64) -> !llvm.ptr<1>, f16 // CHECK: rocdl.global.prefetch %{{.*}}, scope 16 : !llvm.ptr<1> amdgpu.global_prefetch %src[%i, %j] RT DEV speculative : memref<64x64xf16, #gpu.address_space> func.return }