Skip to content

Commit f8b55d5

Browse files
committed
chack for scalable vectors
1 parent 0916901 commit f8b55d5

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def AMDGPU_Dialect : Dialect {
3838
def AnyIntegerOrFloat : AnyTypeOf<[AnySignlessInteger, AnyFloat], "Integer or Float">;
3939

4040
def AnyIntegerOrFloatOr1DVector :
41-
AnyTypeOf<[AnyIntegerOrFloat, VectorOfRankAndType<[1], [AnyIntegerOrFloat]>]>;
41+
AnyTypeOf<[AnyIntegerOrFloat, FixedVectorOfRankAndType<[1], [AnyIntegerOrFloat]>]>;
4242

4343
//===----------------------------------------------------------------------===//
4444
// AMDGPU general attribute definitions

mlir/lib/Conversion/LLVMCommon/Pattern.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,7 @@ static unsigned getBitWidth(Type type) {
387387
return type.getIntOrFloatBitWidth();
388388

389389
auto vec = cast<VectorType>(type);
390+
assert(!vec.isScalable() && "scalable vectors are not supported");
390391
return vec.getNumElements() * getBitWidth(vec.getElementType());
391392
}
392393

mlir/test/Dialect/AMDGPU/invalid.mlir

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,15 @@ func.func @fat_raw_buffer_cast_stripping_offset_affine_map(%m: memref<8xi32, aff
154154
// -----
155155

156156
func.func @swizzle_invalid_type(%arg0 : si32) -> si32 {
157-
// expected-error@+1 {{amdgpu.swizzle_bitmode' op operand #0 must be Integer or Float or vector of Integer or Float values of ranks 1}}
157+
// expected-error@+1 {{'amdgpu.swizzle_bitmode' op operand #0 must be Integer or Float or fixed-length vector of Integer or Float values of ranks 1}}
158158
%0 = amdgpu.swizzle_bitmode %arg0 1 2 4 : si32
159159
func.return %0 : si32
160160
}
161+
162+
// -----
163+
164+
func.func @swizzle_scalable_vec(%arg0 : vector<[4]xf32>) -> vector<[4]xf32> {
165+
// expected-error@+1 {{'amdgpu.swizzle_bitmode' op operand #0 must be Integer or Float or fixed-length vector of Integer or Float values of ranks 1}}
166+
%0 = amdgpu.swizzle_bitmode %arg0 1 2 4 : vector<[4]xf32>
167+
func.return %0 : vector<[4]xf32>
168+
}

0 commit comments

Comments
 (0)