arch-gcn3: fix bug with SDWA support
authorMatt Sinclair <Matthew.Sinclair@amd.com>
Fri, 22 Jun 2018 06:42:39 +0000 (02:42 -0400)
committerAnthony Gutierrez <anthony.gutierrez@amd.com>
Fri, 19 Jun 2020 20:41:59 +0000 (20:41 +0000)
commitc1ea14de444aafa9f7b11505ac40077f73a26e9d
tree91b4665258c76ed6adaf3232caad1e05ff64d1fe
parent7be558cf41ec6fb3bd6a98d18c2f02bf77582c57
arch-gcn3: fix bug with SDWA support

Instructions that use the SDWA field need to use the extra SRC0
register associated with the SDWA instruction instead of the
"default" SRC0 register, since the default SRC0 register contains
the SDWA information when SDWA is being used.  This commit fixes
15de044c to take this into account.  Additionally, this commit
removes reads of the registers from the SDWA helper functions,
since they overwrite any changes made to the destination register.
Finally, this change modifies the instructions that use SDWA to
simplify the flow through the execute() functions.

Change-Id: I3bad83133808dfffc6a4c40bbd49c3d76599e669
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29922
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/gcn3/insts/inst_util.hh
src/arch/gcn3/insts/instructions.cc