Matthew Poremba has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/31154 )
Change subject: arch-gcn3,gpu-compute: Fix various GCC9 errors
......................................................................
arch-gcn3,gpu-compute: Fix various GCC9 errors
WIP - Only opt builds for now.
Change-Id: Ie0d35568624e5e1405143593f0677bbd0b066b61
---
M src/arch/gcn3/insts/instructions.cc
M src/arch/gcn3/insts/op_encodings.cc
M src/arch/gcn3/operand.hh
M src/gpu-compute/gpu_compute_driver.cc
4 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/arch/gcn3/insts/instructions.cc
b/src/arch/gcn3/insts/instructions.cc
index 7c2cf0e..bb5f13a 100644
--- a/src/arch/gcn3/insts/instructions.cc
+++ b/src/arch/gcn3/insts/instructions.cc
@@ -5183,9 +5183,10 @@
void
Inst_SMEM__S_STORE_DWORDX4::initiateAcc(GPUDynInstPtr gpuDynInst)
{
- ConstScalarOperandU64 sdata(gpuDynInst, instData.SDATA);
+ ConstScalarOperandU128 sdata(gpuDynInst, instData.SDATA);
+ //ConstScalarOperandU64 sdata(gpuDynInst, instData.SDATA);
sdata.read();
- std::memcpy((void*)gpuDynInst->scalar_data, sdata.rawDataPtr(),
+ std::memcpy((void*)gpuDynInst->scalar_data,
(void*)sdata.rawDataPtr(),
4 * sizeof(ScalarRegU32));
initMemWrite<4>(gpuDynInst);
} // initiateAcc
diff --git a/src/arch/gcn3/insts/op_encodings.cc
b/src/arch/gcn3/insts/op_encodings.cc
index 997b22f..86d2a9b 100644
--- a/src/arch/gcn3/insts/op_encodings.cc
+++ b/src/arch/gcn3/insts/op_encodings.cc
@@ -1887,12 +1887,14 @@
} else if (numDstRegOperands()) {
return extData.VDST;
}
+ break;
case 2:
if (numSrcRegOperands() > 2) {
return extData.DATA1;
} else if (numDstRegOperands()) {
return extData.VDST;
}
+ break;
case 3:
assert(numDstRegOperands());
return extData.VDST;
@@ -1900,6 +1902,8 @@
fatal("Operand at idx %i does not exist\n", opIdx);
return -1;
}
+ fatal("Operand at idx %i does not exist\n", opIdx);
+ return -1;
}
// --- Inst_MUBUF base class methods ---
diff --git a/src/arch/gcn3/operand.hh b/src/arch/gcn3/operand.hh
index 97c6310..66c50d9 100644
--- a/src/arch/gcn3/operand.hh
+++ b/src/arch/gcn3/operand.hh
@@ -556,7 +556,7 @@
{
typename OpTraits<DataType>::FloatT pos_half = 0.5;
std::memcpy((void*)srfData.data(), (void*)&pos_half,
- sizeof(srfData));
+ sizeof(pos_half));
}
break;
@@ -564,44 +564,44 @@
{
typename OpTraits<DataType>::FloatT neg_half = -0.5;
std::memcpy((void*)srfData.data(), (void*)&neg_half,
- sizeof(srfData));
+ sizeof(neg_half));
}
break;
case REG_POS_ONE:
{
typename OpTraits<DataType>::FloatT pos_one = 1.0;
- std::memcpy(srfData.data(), &pos_one, sizeof(srfData));
+ std::memcpy(srfData.data(), &pos_one, sizeof(pos_one));
}
break;
case REG_NEG_ONE:
{
typename OpTraits<DataType>::FloatT neg_one = -1.0;
- std::memcpy(srfData.data(), &neg_one, sizeof(srfData));
+ std::memcpy(srfData.data(), &neg_one, sizeof(neg_one));
}
break;
case REG_POS_TWO:
{
typename OpTraits<DataType>::FloatT pos_two = 2.0;
- std::memcpy(srfData.data(), &pos_two, sizeof(srfData));
+ std::memcpy(srfData.data(), &pos_two, sizeof(pos_two));
}
break;
case REG_NEG_TWO:
{
typename OpTraits<DataType>::FloatT neg_two = -2.0;
- std::memcpy(srfData.data(), &neg_two, sizeof(srfData));
+ std::memcpy(srfData.data(), &neg_two, sizeof(neg_two));
}
break;
case REG_POS_FOUR:
{
typename OpTraits<DataType>::FloatT pos_four = 4.0;
- std::memcpy(srfData.data(), &pos_four,
sizeof(srfData));
+ std::memcpy(srfData.data(), &pos_four,
sizeof(pos_four));
}
break;
case REG_NEG_FOUR:
{
typename OpTraits<DataType>::FloatT neg_four = -4.0;
std::memcpy((void*)srfData.data(), (void*)&neg_four ,
- sizeof(srfData));
+ sizeof(neg_four));
}
break;
case REG_PI:
diff --git a/src/gpu-compute/gpu_compute_driver.cc
b/src/gpu-compute/gpu_compute_driver.cc
index 287c2a1..6bdb314 100644
--- a/src/gpu-compute/gpu_compute_driver.cc
+++ b/src/gpu-compute/gpu_compute_driver.cc
@@ -267,6 +267,7 @@
{
warn("unimplemented ioctl:
AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU\n");
}
+ break;
case AMDKFD_IOC_ALLOC_MEMORY_OF_SCRATCH:
{
warn("unimplemented ioctl:
AMDKFD_IOC_ALLOC_MEMORY_OF_SCRATCH\n");
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31154
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ie0d35568624e5e1405143593f0677bbd0b066b61
Gerrit-Change-Number: 31154
Gerrit-PatchSet: 1
Gerrit-Owner: Matthew Poremba <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s