aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/ops/data_layout.cc
diff options
context:
space:
mode:
Diffstat (limited to 'reference_model/src/ops/data_layout.cc')
-rw-r--r--reference_model/src/ops/data_layout.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/reference_model/src/ops/data_layout.cc b/reference_model/src/ops/data_layout.cc
index b6ad704..4c17e78 100644
--- a/reference_model/src/ops/data_layout.cc
+++ b/reference_model/src/ops/data_layout.cc
@@ -176,17 +176,25 @@ int OpPad<Rank, Dtype>::eval()
case TOSA_REF_TYPE_BOOL:
case TOSA_REF_TYPE_INT8:
case TOSA_REF_TYPE_INT16:
- case TOSA_REF_TYPE_INT32:
- pad_value = (InEigenType)attribute->pad_const_int();
+ case TOSA_REF_TYPE_INT32: {
+ std::vector<int32_t> int32_data;
+ TosaSerializationHandler::ConvertU8toI32(attribute->pad_const(),
+ /* size = */ 1, int32_data);
+ pad_value = (InEigenType)int32_data[0];
break;
+ }
case TOSA_REF_TYPE_FP16:
case TOSA_REF_TYPE_BF16:
case TOSA_REF_TYPE_FP32:
case TOSA_REF_TYPE_FP64:
case TOSA_REF_TYPE_FP8E4M3:
- case TOSA_REF_TYPE_FP8E5M2:
- pad_value = (InEigenType)attribute->pad_const_fp();
+ case TOSA_REF_TYPE_FP8E5M2: {
+ std::vector<float> float_data;
+ TosaSerializationHandler::ConvertU8toF32(attribute->pad_const(),
+ /* size = */ 1, float_data);
+ pad_value = (InEigenType)float_data[0];
break;
+ }
default:
ASSERT_MSG(false, "TOSA_REF_TYPE %s is not supported.", EnumNameTOSAREFTYPE(Dtype));
break;