summaryrefslogtreecommitdiff
path: root/src/arch/hsail
diff options
context:
space:
mode:
authorTuan Ta <taquangtuan1992@gmail.com>2016-06-18 13:02:13 -0400
committerTuan Ta <taquangtuan1992@gmail.com>2016-06-18 13:02:13 -0400
commitbb9033c26b6a84f4593c020a8078101e17a7b124 (patch)
treee6e76d7270d9c64aab002ba3e3895896f943f0e2 /src/arch/hsail
parent54aeb1a187caa23b0bfe13da1872688f74a44061 (diff)
downloadgem5-bb9033c26b6a84f4593c020a8078101e17a7b124.tar.xz
gpu-compute: Fixed a bug in decoding Atomic ST
There is a mismatch between DataType and SrcDataType in constructing Atomic ST instruction. The mismatch causes atomic_store and atomic_store_explicit function to store incorrect value in memory.
Diffstat (limited to 'src/arch/hsail')
-rw-r--r--src/arch/hsail/insts/mem.hh6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/hsail/insts/mem.hh b/src/arch/hsail/insts/mem.hh
index 1db98d212..acc8434be 100644
--- a/src/arch/hsail/insts/mem.hh
+++ b/src/arch/hsail/insts/mem.hh
@@ -1556,11 +1556,11 @@ namespace HsailISA
case Brig::BRIG_TYPE_B8:
return decodeSt<S8,S8>(ib, obj);
case Brig::BRIG_TYPE_B16:
- return decodeSt<S8,S16>(ib, obj);
+ return decodeSt<S16,S16>(ib, obj);
case Brig::BRIG_TYPE_B32:
- return decodeSt<S8,S32>(ib, obj);
+ return decodeSt<S32,S32>(ib, obj);
case Brig::BRIG_TYPE_B64:
- return decodeSt<S8,S64>(ib, obj);
+ return decodeSt<S64,S64>(ib, obj);
default: fatal("AtomicSt: Operand type mismatch %d\n", ib->type);
}
} else {