diff options
Diffstat (limited to 'llvm/test/Verifier')
| -rw-r--r-- | llvm/test/Verifier/llvm.used-invalid-init.ll | 2 | ||||
| -rw-r--r-- | llvm/test/Verifier/matrix-intrinsics.ll | 23 |
2 files changed, 21 insertions, 4 deletions
diff --git a/llvm/test/Verifier/llvm.used-invalid-init.ll b/llvm/test/Verifier/llvm.used-invalid-init.ll index 15a961c..38c84b15 100644 --- a/llvm/test/Verifier/llvm.used-invalid-init.ll +++ b/llvm/test/Verifier/llvm.used-invalid-init.ll @@ -2,5 +2,5 @@ @llvm.used = appending global [1 x ptr] zeroinitializer, section "llvm.metadata" -; CHECK: wrong initalizer for intrinsic global variable +; CHECK: wrong initializer for intrinsic global variable ; CHECK-NEXT: [1 x ptr] zeroinitializer diff --git a/llvm/test/Verifier/matrix-intrinsics.ll b/llvm/test/Verifier/matrix-intrinsics.ll index b6d5ad9..43d1a79 100644 --- a/llvm/test/Verifier/matrix-intrinsics.ll +++ b/llvm/test/Verifier/matrix-intrinsics.ll @@ -1,8 +1,7 @@ -; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s +; RUN: not opt -S %s 2>&1 | FileCheck %s define <4 x float> @transpose(<4 x float> %m, i32 %arg) { -; CHECK: assembly parsed, but does not verify as correct! -; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! +; CHECK: Result of a matrix operation does not fit in the returned vector! ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! ; CHECK-NEXT: immarg operand has non-immediate parameter @@ -118,16 +117,34 @@ define void @column.major_store_stride_too_small(ptr %m, i64 %arg) { ret void } +define <4 x float> @column.major_load_stride_i128(ptr %m, i32 %arg) { +; CHECK-NEXT: Stride bitwidth cannot exceed 64! +; CHECK-NEXT: ptr @llvm.matrix.column.major.load.v4f32.i128 + %result.1 = call <4 x float> @llvm.matrix.column.major.load.v4f32.i128(ptr %m, i128 u0x10000000000000000, i1 false, i32 2, i32 2) + ret <4 x float> %result.1 +} + +define void @column.major_store_stride_i128(ptr %m, i64 %arg) { +; CHECK-NEXT: Stride bitwidth cannot exceed 64! +; CHECK-NEXT: ptr @llvm.matrix.column.major.store.v4f32.i128 + call void @llvm.matrix.column.major.store.v4f32.i128(<4 x float> zeroinitializer, ptr %m, i128 u0x10000000000000000, i1 false, i32 2, i32 2) + ret void +} + declare <4 x i32> @llvm.matrix.column.major.load.v4i32.i64(ptr, i64, i1, i32, i32) declare <4 x float> @llvm.matrix.column.major.load.v4f32.p0(ptr, i64, i1, i32, i32) declare <4 x float> @llvm.matrix.column.major.load.v4f32.i64(ptr, i64, i1, i32, i32) declare <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr, i64, i1, i32, i32) +declare <6 x float> @llvm.matrix.column.major.load.v6f32.i8(ptr, i8, i1, i32, i32) +declare <6 x float> @llvm.matrix.column.major.load.v6f32.i128(ptr, i28, i1, i32, i32) declare void @llvm.matrix.column.major.store.v4f32.i64(<4 x float>, ptr, i64, i1, i32, i32) declare void @llvm.matrix.column.major.store.v6f32.i64(<6 x float>, ptr, i64, i1, i32, i32) declare void @llvm.matrix.column.major.store.v4i32.vi32(<4 x i32>, ptr, i64, i1, i32, i32) declare void @llvm.matrix.column.major.store.v4f32.p0(<4 x float>, ptr, i64, i1, i32, i32) declare void @llvm.matrix.column.major.store.v4p0.i64(<4 x ptr>, ptr, i64, i1, i32, i32) +declare void @llvm.matrix.column.major.store.v4p0.i8(<4 x ptr>, ptr, i8, i1, i32, i32) +declare void @llvm.matrix.column.major.store.v4p0.i128(<4 x ptr>, ptr, i128, i1, i32, i32) declare <4 x i32> @llvm.matrix.transpose.v4i32.v4f32(<4 x float>, i32, i32) declare <4 x float> @llvm.matrix.transpose.v4f32(<4 x float>, i32, i32) |
