Skip to content

Commit cb03126

Browse files
authored
Revert "[mlir][AMDGPU] Support vector<2xf16> inputs to buffer atomic fadd (#108238)" (#108256)
This reverts commit 0d48d4d. Mistakenly landed without approval
1 parent 0d48d4d commit cb03126

File tree

3 files changed

+4
-18
lines changed

3 files changed

+4
-18
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,8 @@ def AMDGPU_RawBufferAtomicCmpswapOp :
253253
// Raw buffer atomic floating point add
254254
def AMDGPU_RawBufferAtomicFaddOp :
255255
AMDGPU_Op<"raw_buffer_atomic_fadd", [AllElementTypesMatch<["value", "memref"]>,
256-
AttrSizedOperandSegments]>,
257-
Arguments<(ins AnyTypeOf<[F32, VectorOfLengthAndType<[2], [F16]>]>:$value,
256+
AttrSizedOperandSegments]>,
257+
Arguments<(ins F32:$value,
258258
Arg<AnyMemRef, "buffer to operate on", [MemRead, MemWrite]>:$memref,
259259
Variadic<I32>:$indices,
260260
DefaultValuedAttr<BoolAttr, "true">:$boundsCheck,

mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,15 @@ struct RawBufferOpLowering : public ConvertOpToLLVMPattern<GpuOp> {
115115
rewriter.getIntegerType(floatType.getWidth()));
116116
}
117117
if (auto dataVector = dyn_cast<VectorType>(wantedDataType)) {
118-
uint32_t vecLen = dataVector.getNumElements();
119118
uint32_t elemBits = dataVector.getElementTypeBitWidth();
120-
uint32_t totalBits = elemBits * vecLen;
121-
bool usePackedFp16 =
122-
dyn_cast_or_null<RawBufferAtomicFaddOp>(*gpuOp) && vecLen == 2;
119+
uint32_t totalBits = elemBits * dataVector.getNumElements();
123120
if (totalBits > maxVectorOpWidth)
124121
return gpuOp.emitOpError(
125122
"Total width of loads or stores must be no more than " +
126123
Twine(maxVectorOpWidth) + " bits, but we call for " +
127124
Twine(totalBits) +
128125
" bits. This should've been caught in validation");
129-
else if (!usePackedFp16 && elemBits < 32) {
126+
if (elemBits < 32) {
130127
if (totalBits > 32) {
131128
if (totalBits % 32 != 0)
132129
return gpuOp.emitOpError("Load or store of more than 32-bits that "

mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -151,17 +151,6 @@ func.func @gpu_gcn_raw_buffer_atomic_fadd_f32(%value: f32, %buf: memref<64xf32>,
151151
func.return
152152
}
153153

154-
// CHECK-LABEL: func @gpu_gcn_raw_buffer_atomic_fadd_v2f16
155-
func.func @gpu_gcn_raw_buffer_atomic_fadd_v2f16(%value: vector<2xf16>, %buf: memref<64xf16>, %idx: i32) {
156-
// CHECK: %[[numRecords:.*]] = llvm.mlir.constant(128 : i32)
157-
// GFX9: %[[flags:.*]] = llvm.mlir.constant(159744 : i32)
158-
// RDNA: %[[flags:.*]] = llvm.mlir.constant(822243328 : i32)
159-
// CHECK: %[[resource:.*]] = rocdl.make.buffer.rsrc %{{.*}}, %{{.*}}, %[[numRecords]], %[[flags]]
160-
// CHECK: rocdl.raw.ptr.buffer.atomic.fadd %{{.*}}, %[[resource]], %{{.*}}, %{{.*}}, %{{.*}} : vector<2xf16>
161-
amdgpu.raw_buffer_atomic_fadd {boundsCheck = true} %value -> %buf[%idx] : vector<2xf16> -> memref<64xf16>, i32
162-
func.return
163-
}
164-
165154
// CHECK-LABEL: func @gpu_gcn_raw_buffer_atomic_fmax_f32
166155
func.func @gpu_gcn_raw_buffer_atomic_fmax_f32(%value: f32, %buf: memref<64xf32>, %idx: i32) {
167156
// CHECK: %[[numRecords:.*]] = llvm.mlir.constant(256 : i32)

0 commit comments

Comments
 (0)