Matthew Poremba has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/53743 )
Change subject: arch-gcn3: Delete extraneous registers header
......................................................................
arch-gcn3: Delete extraneous registers header
This file is a duplicate of arch/amdgpu/gcn3/gpu_registers.hh and is in
the wrong location. It should be removed to avoid mistakenly editing the
wrong file.
Change-Id: Ie96e22fe8f78fda954af788b472ec2df4782e4a5
---
D src/arch/gcn3/registers.hh
1 file changed, 13 insertions(+), 235 deletions(-)
diff --git a/src/arch/gcn3/registers.hh b/src/arch/gcn3/registers.hh
deleted file mode 100644
index 130f052..0000000
--- a/src/arch/gcn3/registers.hh
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (c) 2015-2017 Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * For use for simulation and test purposes only
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
met:
- *
- * 1. Redistributions of source code must retain the above copyright
notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
notice,
- * this list of conditions and the following disclaimer in the
documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its
- * contributors may be used to endorse or promote products derived from
this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __ARCH_GCN3_REGISTERS_HH__
-#define __ARCH_GCN3_REGISTERS_HH__
-
-#include <array>
-#include <cstdint>
-#include <string>
-
-#include "arch/generic/vec_reg.hh"
-#include "base/intmath.hh"
-#include "base/logging.hh"
-
-namespace gem5
-{
-
-namespace Gcn3ISA
-{
- enum OpSelector : int
- {
- REG_SGPR_MIN = 0,
- REG_SGPR_MAX = 101,
- REG_FLAT_SCRATCH_LO = 102,
- REG_FLAT_SCRATCH_HI = 103,
- REG_XNACK_MASK_LO = 104,
- REG_XNACK_MASK_HI = 105,
- REG_VCC_LO = 106,
- REG_VCC_HI = 107,
- REG_TBA_LO = 108,
- REG_TBA_HI = 109,
- REG_TMA_LO = 110,
- REG_TMA_HI = 111,
- REG_TTMP_0 = 112,
- REG_TTMP_1 = 113,
- REG_TTMP_2 = 114,
- REG_TTMP_3 = 115,
- REG_TTMP_4 = 116,
- REG_TTMP_5 = 117,
- REG_TTMP_6 = 118,
- REG_TTMP_7 = 119,
- REG_TTMP_8 = 120,
- REG_TTMP_9 = 121,
- REG_TTMP_10 = 122,
- REG_TTMP_11 = 123,
- REG_M0 = 124,
- REG_RESERVED_1 = 125,
- REG_EXEC_LO = 126,
- REG_EXEC_HI = 127,
- REG_ZERO = 128,
- REG_INT_CONST_POS_MIN = 129,
- REG_INT_CONST_POS_MAX = 192,
- REG_INT_CONST_NEG_MIN = 193,
- REG_INT_CONST_NEG_MAX = 208,
- REG_RESERVED_2 = 209,
- REG_RESERVED_3 = 210,
- REG_RESERVED_4 = 211,
- REG_RESERVED_5 = 212,
- REG_RESERVED_6 = 213,
- REG_RESERVED_7 = 214,
- REG_RESERVED_8 = 215,
- REG_RESERVED_9 = 216,
- REG_RESERVED_10 = 217,
- REG_RESERVED_11 = 218,
- REG_RESERVED_12 = 219,
- REG_RESERVED_13 = 220,
- REG_RESERVED_14 = 221,
- REG_RESERVED_15 = 222,
- REG_RESERVED_16 = 223,
- REG_RESERVED_17 = 224,
- REG_RESERVED_18 = 225,
- REG_RESERVED_19 = 226,
- REG_RESERVED_20 = 227,
- REG_RESERVED_21 = 228,
- REG_RESERVED_22 = 229,
- REG_RESERVED_23 = 230,
- REG_RESERVED_24 = 231,
- REG_RESERVED_25 = 232,
- REG_RESERVED_26 = 233,
- REG_RESERVED_27 = 234,
- REG_RESERVED_28 = 235,
- REG_RESERVED_29 = 236,
- REG_RESERVED_30 = 237,
- REG_RESERVED_31 = 238,
- REG_RESERVED_32 = 239,
- REG_POS_HALF = 240,
- REG_NEG_HALF = 241,
- REG_POS_ONE = 242,
- REG_NEG_ONE = 243,
- REG_POS_TWO = 244,
- REG_NEG_TWO = 245,
- REG_POS_FOUR = 246,
- REG_NEG_FOUR = 247,
- REG_PI = 248,
- /* NOTE: SDWA and SWDA both refer to sub d-word addressing */
- REG_SRC_SWDA = 249,
- REG_SRC_DPP = 250,
- REG_VCCZ = 251,
- REG_EXECZ = 252,
- REG_SCC = 253,
- REG_LDS_DIRECT = 254,
- REG_SRC_LITERAL = 255,
- REG_VGPR_MIN = 256,
- REG_VGPR_MAX = 511
- };
-
- constexpr size_t MaxOperandDwords(16);
- const int NumVecElemPerVecReg(64);
- // op selector values 129 - 192 correspond to const values 1 - 64
- const int NumPosConstRegs = REG_INT_CONST_POS_MAX
- - REG_INT_CONST_POS_MIN + 1;
- // op selector values 193 - 208 correspond to const values -1 - 16
- const int NumNegConstRegs = REG_INT_CONST_NEG_MAX
- - REG_INT_CONST_NEG_MIN + 1;
- const int BITS_PER_BYTE = 8;
- const int BITS_PER_WORD = 16;
- const int MSB_PER_BYTE = (BITS_PER_BYTE - 1);
- const int MSB_PER_WORD = (BITS_PER_WORD - 1);
-
- // typedefs for the various sizes/types of scalar regs
- typedef uint8_t ScalarRegU8;
- typedef int8_t ScalarRegI8;
- typedef uint16_t ScalarRegU16;
- typedef int16_t ScalarRegI16;
- typedef uint32_t ScalarRegU32;
- typedef int32_t ScalarRegI32;
- typedef float ScalarRegF32;
- typedef uint64_t ScalarRegU64;
- typedef int64_t ScalarRegI64;
- typedef double ScalarRegF64;
-
- // typedefs for the various sizes/types of vector reg elements
- typedef uint8_t VecElemU8;
- typedef int8_t VecElemI8;
- typedef uint16_t VecElemU16;
- typedef int16_t VecElemI16;
- typedef uint32_t VecElemU32;
- typedef int32_t VecElemI32;
- typedef float VecElemF32;
- typedef uint64_t VecElemU64;
- typedef int64_t VecElemI64;
- typedef double VecElemF64;
-
- const int DWORDSize = sizeof(VecElemU32);
- /**
- * Size of a single-precision register in DWORDs.
- */
- const int RegSizeDWORDs = sizeof(VecElemU32) / DWORDSize;
-
- using VecRegContainerU32 =
- VecRegContainer<sizeof(VecElemU32) * NumVecElemPerVecReg>;
-
- struct StatusReg
- {
- StatusReg() : SCC(0), SPI_PRIO(0), USER_PRIO(0), PRIV(0),
TRAP_EN(0),
- TTRACE_EN(0), EXPORT_RDY(0), EXECZ(0), VCCZ(0), IN_TG(0),
- IN_BARRIER(0), HALT(0), TRAP(0), TTRACE_CU_EN(0), VALID(0),
- ECC_ERR(0), SKIP_EXPORT(0), PERF_EN(0), COND_DBG_USER(0),
- COND_DBG_SYS(0), ALLOW_REPLAY(0), INSTRUCTION_ATC(0),
RESERVED(0),
- MUST_EXPORT(0), RESERVED_1(0)
- {
- }
-
- uint32_t SCC : 1;
- uint32_t SPI_PRIO : 2;
- uint32_t USER_PRIO : 2;
- uint32_t PRIV : 1;
- uint32_t TRAP_EN : 1;
- uint32_t TTRACE_EN : 1;
- uint32_t EXPORT_RDY : 1;
- uint32_t EXECZ : 1;
- uint32_t VCCZ : 1;
- uint32_t IN_TG : 1;
- uint32_t IN_BARRIER : 1;
- uint32_t HALT : 1;
- uint32_t TRAP : 1;
- uint32_t TTRACE_CU_EN : 1;
- uint32_t VALID : 1;
- uint32_t ECC_ERR : 1;
- uint32_t SKIP_EXPORT : 1;
- uint32_t PERF_EN : 1;
- uint32_t COND_DBG_USER : 1;
- uint32_t COND_DBG_SYS : 1;
- uint32_t ALLOW_REPLAY : 1;
- uint32_t INSTRUCTION_ATC : 1;
- uint32_t RESERVED : 3;
- uint32_t MUST_EXPORT : 1;
- uint32_t RESERVED_1 : 4;
- };
-
- std::string opSelectorToRegSym(int opIdx, int numRegs=0);
- int opSelectorToRegIdx(int opIdx, int numScalarRegs);
- bool isPosConstVal(int opIdx);
- bool isNegConstVal(int opIdx);
- bool isConstVal(int opIdx);
- bool isLiteral(int opIdx);
- bool isScalarReg(int opIdx);
- bool isVectorReg(int opIdx);
- bool isFlatScratchReg(int opIdx);
- bool isExecMask(int opIdx);
- bool isVccReg(int opIdx);
-} // namespace Gcn3ISA
-} // namespace gem5
-
-#endif // __ARCH_GCN3_REGISTERS_HH__
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53743
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: Ie96e22fe8f78fda954af788b472ec2df4782e4a5
Gerrit-Change-Number: 53743
Gerrit-PatchSet: 1
Gerrit-Owner: Matthew Poremba <matthew.pore...@amd.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s