|  | 
 | // | 
 | // *** DO NOT EDIT *** | 
 | // | 
 | //  This test has been automatically generated by | 
 | //  builtins-nvtx-mma.py --ptx=71 --gpu-arch=80 | 
 | // | 
 | // Make sure we can handle all builtins available on sm_80 with PTX71 | 
 | // RUN: %clang_cc1 -triple nvptx64-unknown-unknown -target-cpu sm_80 \ | 
 | // RUN:            -fcuda-is-device -target-feature +ptx71 \ | 
 | // RUN:            -DPTX=71 -DSM=80 \ | 
 | // RUN:            -emit-llvm -o - -x cuda %s \ | 
 | // RUN:   | FileCheck -check-prefixes=CHECK_PTX70_SM80,CHECK_PTX60_SM70,CHECK_PTX63_SM72,CHECK_PTX61_SM70,CHECK_PTX63_SM75,CHECK_PTX71_SM80 %s | 
 | // Verify that all builtins have correct constraints. | 
 | // RUN: %clang_cc1 -triple nvptx-unknown-unknown \ | 
 | // RUN:   -target-cpu sm_60 -target-feature +ptx42 \ | 
 | // RUN:   -DPTX=71 -DSM=80 -fcuda-is-device -S -o /dev/null -x cuda \ | 
 | // RUN:   -verify %s | 
 |  | 
 |  | 
 | #if !defined(CUDA_VERSION) | 
 | #define __device__ __attribute__((device)) | 
 | #define __global__ __attribute__((global)) | 
 | #define __shared__ __attribute__((shared)) | 
 | #define __constant__ __attribute__((constant)) | 
 |  | 
 | typedef unsigned long long uint64_t; | 
 | #endif | 
 |  | 
 | // CHECK-LABEL: test_wmma_buitins | 
 | __device__ void test_wmma_buitins(int *src, int *dst, | 
 |                                   float *fsrc, float *fdst, | 
 |                                   double *dsrc, double *ddst, int ldm) { | 
 |  | 
 |  | 
 | #if (PTX >= 60) && (SM >= 70) | 
 |  | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_a' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_a' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_b' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_b' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.c.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_c_f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_c_f16(dst, src, ldm, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.c.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_c_f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_c_f16(dst, src, ldm, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.c.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_c_f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.c.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_ld_c_f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_ld_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.store.d.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_st_c_f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_st_c_f16(dst, src, ldm, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.store.d.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_st_c_f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_st_c_f16(dst, src, ldm, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.store.d.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_st_c_f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_st_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.store.d.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_st_c_f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_st_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f16(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 3, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 3, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 2, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 2, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 1, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 1, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 0, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f16(fdst, src, src, src, 0, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 3, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 2, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 1, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f16f32(dst, src, src, fsrc, 0, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 3, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 2, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 1, 1); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX60_SM70: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m16n16k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx60{{.*}}}} | 
 |   __hmma_m16n16k16_mma_f32f32(fdst, src, src, fsrc, 0, 1); | 
 | #endif // (PTX >= 60) && (SM >= 70) | 
 |  | 
 | #if (PTX >= 61) && (SM >= 70) | 
 |  | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_a' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_a' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_b' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_b' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.c.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_c_f16(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.c.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_c_f16(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.c.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.c.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_ld_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_ld_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.store.d.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_st_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_st_c_f16(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.store.d.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_st_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_st_c_f16(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.store.d.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_st_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_st_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.store.d.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_st_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_st_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_a' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_a' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_b' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_b' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.c.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_c_f16(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.c.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_c_f16(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.c.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.c.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_ld_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_ld_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.store.d.col.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_st_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_st_c_f16(dst, src, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.store.d.row.stride.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_st_c_f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_st_c_f16(dst, src, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.store.d.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_st_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_st_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.store.d.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_st_c_f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_st_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f16(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f16(fdst, src, src, src, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f16f32(dst, src, src, fsrc, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m32n8k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m32n8k16_mma_f32f32(fdst, src, src, fsrc, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f16.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f16.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f16(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f32.f16 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f32.f16.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f16' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f16(fdst, src, src, src, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f16.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f16.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f16f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f16f32(dst, src, src, fsrc, 0, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 3, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 2, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 1, 1); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f32.f32 | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX61_SM70: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.f32.f32.satfinite | 
 |   // expected-error-re@+1 {{'__hmma_m8n32k16_mma_f32f32' needs target feature (sm_70{{.*}},(ptx61{{.*}}}} | 
 |   __hmma_m8n32k16_mma_f32f32(fdst, src, src, fsrc, 0, 1); | 
 | #endif // (PTX >= 61) && (SM >= 70) | 
 |  | 
 | #if (PTX >= 63) && (SM >= 72) | 
 |  | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.col.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_a_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_a_s8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.row.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_a_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_a_s8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.col.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_a_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_a_u8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.row.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_a_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_a_u8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.col.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_b_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_b_s8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.row.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_b_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_b_s8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.col.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_b_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_b_u8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.row.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_b_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_b_u8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.c.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_c' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_c(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.c.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_ld_c' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_ld_c(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.store.d.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_st_c_i32' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_st_c_i32(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.store.d.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_st_c_i32' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_st_c_i32(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.col.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_a_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_a_s8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.row.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_a_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_a_s8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.col.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_a_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_a_u8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.row.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_a_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_a_u8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.col.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_b_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_b_s8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.row.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_b_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_b_s8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.col.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_b_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_b_u8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.row.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_b_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_b_u8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.c.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_c' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_c(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.c.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_ld_c' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_ld_c(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.store.d.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_st_c_i32' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_st_c_i32(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.store.d.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_st_c_i32' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_st_c_i32(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.col.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_a_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_a_s8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.row.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_a_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_a_s8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.col.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_a_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_a_u8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.row.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_a_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_a_u8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.col.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_b_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_b_s8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.row.stride.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_b_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_b_s8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.col.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_b_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_b_u8(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.row.stride.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_b_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_b_u8(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.c.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_c' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_c(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.c.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_ld_c' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_ld_c(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.store.d.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_st_c_i32' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_st_c_i32(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.store.d.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_st_c_i32' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_st_c_i32(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.s8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_s8(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.u8 | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m16n16k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m16n16k16_mma_u8(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.s8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_s8(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.u8 | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m32n8k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m32n8k16_mma_u8(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.s8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.s8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_s8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_s8(dst, src, src, src, 0, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 3, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 3, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 2, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 2, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.u8 | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 0, 0); | 
 |   // CHECK_PTX63_SM72: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.u8.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n32k16_mma_u8' needs target feature (sm_72{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n32k16_mma_u8(dst, src, src, src, 0, 1); | 
 | #endif // (PTX >= 63) && (SM >= 72) | 
 |  | 
 | #if (PTX >= 63) && (SM >= 75) | 
 |  | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.load.a.row.stride.b1 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_ld_a_b1' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_ld_a_b1(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.load.b.col.stride.b1 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_ld_b_b1' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_ld_b_b1(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.load.c.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_ld_c' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_ld_c(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.load.c.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_ld_c' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_ld_c(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.store.d.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_st_c_i32' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_st_c_i32(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.store.d.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_st_c_i32' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_st_c_i32(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.load.a.row.stride.s4 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_ld_a_s4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_ld_a_s4(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.load.a.row.stride.u4 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_ld_a_u4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_ld_a_u4(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.load.b.col.stride.s4 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_ld_b_s4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_ld_b_s4(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.load.b.col.stride.u4 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_ld_b_u4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_ld_b_u4(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.load.c.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_ld_c' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_ld_c(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.load.c.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_ld_c' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_ld_c(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.store.d.col.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_st_c_i32' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_st_c_i32(dst, src, ldm, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.store.d.row.stride.s32 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_st_c_i32' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_st_c_i32(dst, src, ldm, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k128.mma.xor.popc.row.col.b1 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_mma_xor_popc_b1' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __bmma_m8n8k128_mma_xor_popc_b1(dst, src, src, src, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.mma.row.col.s4 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_mma_s4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_mma_s4(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.mma.row.col.s4.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_mma_s4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_mma_s4(dst, src, src, src, 1, 1); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.mma.row.col.u4 | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_mma_u4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_mma_u4(dst, src, src, src, 1, 0); | 
 |   // CHECK_PTX63_SM75: call {{.*}} @llvm.nvvm.wmma.m8n8k32.mma.row.col.u4.satfinite | 
 |   // expected-error-re@+1 {{'__imma_m8n8k32_mma_u4' needs target feature (sm_75{{.*}},(ptx63{{.*}}}} | 
 |   __imma_m8n8k32_mma_u4(dst, src, src, src, 1, 1); | 
 | #endif // (PTX >= 63) && (SM >= 75) | 
 |  | 
 | #if (PTX >= 70) && (SM >= 80) | 
 |  | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.col.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.a.row.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.col.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.load.b.row.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.load.a.col.stride.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.load.a.row.stride.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.load.b.col.stride.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.load.b.row.stride.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.load.c.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_ld_c' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_ld_c(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.load.c.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_ld_c' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_ld_c(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.store.d.col.stride.f32 | 
 |   // expected-error-re@+1 {{'__mma_m16n16k8_st_c_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_m16n16k8_st_c_f32(fdst, fsrc, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.store.d.row.stride.f32 | 
 |   // expected-error-re@+1 {{'__mma_m16n16k8_st_c_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_m16n16k8_st_c_f32(fdst, fsrc, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.col.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.a.row.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.col.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.load.b.row.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.col.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_ld_a(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.a.row.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_ld_a(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.col.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_ld_b(dst, src, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.load.b.row.stride.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_ld_b(dst, src, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.load.a.col.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_ld_a(ddst, dsrc, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.load.a.row.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_ld_a' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_ld_a(ddst, dsrc, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.load.b.col.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_ld_b(ddst, dsrc, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.load.b.row.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_ld_b' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_ld_b(ddst, dsrc, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.load.c.col.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_ld_c' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_ld_c(ddst, dsrc, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.load.c.row.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_ld_c' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_ld_c(ddst, dsrc, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.store.d.col.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_st_c_f64' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_st_c_f64(ddst, dsrc, ldm, 1); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.store.d.row.stride.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_st_c_f64' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_st_c_f64(ddst, dsrc, ldm, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.col.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_mma_f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.col.row.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_mma_f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.col.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_mma_f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k16.mma.row.row.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m16n16k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m16n16k16_mma_f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.mma.col.col.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_mma_f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.mma.col.row.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_mma_f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.mma.row.col.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_mma_f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m16n16k8.mma.row.row.tf32 | 
 |   // expected-error-re@+1 {{'__mma_tf32_m16n16k8_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_tf32_m16n16k8_mma_f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.col.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_mma_f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.col.row.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_mma_f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.col.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_mma_f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m32n8k16.mma.row.row.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m32n8k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m32n8k16_mma_f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.col.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_mma_f32(fdst, src, src, fsrc, 3, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.col.row.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_mma_f32(fdst, src, src, fsrc, 2, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.col.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_mma_f32(fdst, src, src, fsrc, 1, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n32k16.mma.row.row.bf16 | 
 |   // expected-error-re@+1 {{'__mma_bf16_m8n32k16_mma_f32' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __mma_bf16_m8n32k16_mma_f32(fdst, src, src, fsrc, 0, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.mma.col.col.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_mma_f64' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_mma_f64(ddst, dsrc, dsrc, dsrc, 3, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.mma.col.row.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_mma_f64' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_mma_f64(ddst, dsrc, dsrc, dsrc, 2, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.mma.row.col.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_mma_f64' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_mma_f64(ddst, dsrc, dsrc, dsrc, 1, 0); | 
 |   // CHECK_PTX70_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k4.mma.row.row.f64 | 
 |   // expected-error-re@+1 {{'__dmma_m8n8k4_mma_f64' needs target feature (sm_80{{.*}},(ptx70{{.*}}}} | 
 |   __dmma_m8n8k4_mma_f64(ddst, dsrc, dsrc, dsrc, 0, 0); | 
 | #endif // (PTX >= 70) && (SM >= 80) | 
 |  | 
 | #if (PTX >= 71) && (SM >= 80) | 
 |  | 
 |   // CHECK_PTX71_SM80: call {{.*}} @llvm.nvvm.wmma.m8n8k128.mma.and.popc.row.col.b1 | 
 |   // expected-error-re@+1 {{'__bmma_m8n8k128_mma_and_popc_b1' needs target feature (sm_80{{.*}},(ptx71{{.*}}}} | 
 |   __bmma_m8n8k128_mma_and_popc_b1(dst, src, src, src, 1); | 
 | #endif // (PTX >= 71) && (SM >= 80) | 
 | } |