gem5 v24.0.0.0
Loading...
Searching...
No Matches
op_class.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010, 2017-2018, 2020, 2022 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
14 * Copyright (c) 2003-2005 The Regents of The University of Michigan
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are
19 * met: redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer;
21 * redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution;
24 * neither the name of the copyright holders nor the names of its
25 * contributors may be used to endorse or promote products derived from
26 * this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 */
40
41#ifndef __CPU__OP_CLASS_HH__
42#define __CPU__OP_CLASS_HH__
43
44#include "enums/OpClass.hh"
45
46namespace gem5
47{
48
49/*
50 * Do a bunch of wonky stuff to maintain backward compatability so I
51 * don't have to change code in a zillion places.
52 */
53using enums::OpClass;
54using enums::No_OpClass;
55
56static const OpClass IntAluOp = enums::IntAlu;
57static const OpClass IntMultOp = enums::IntMult;
58static const OpClass IntDivOp = enums::IntDiv;
59static const OpClass FloatAddOp = enums::FloatAdd;
60static const OpClass FloatCmpOp = enums::FloatCmp;
61static const OpClass FloatCvtOp = enums::FloatCvt;
62static const OpClass FloatMultOp = enums::FloatMult;
63static const OpClass FloatMultAccOp = enums::FloatMultAcc;
64static const OpClass FloatDivOp = enums::FloatDiv;
65static const OpClass FloatMiscOp = enums::FloatMisc;
66static const OpClass FloatSqrtOp = enums::FloatSqrt;
67static const OpClass SimdAddOp = enums::SimdAdd;
68static const OpClass SimdAddAccOp = enums::SimdAddAcc;
69static const OpClass SimdAluOp = enums::SimdAlu;
70static const OpClass SimdCmpOp = enums::SimdCmp;
71static const OpClass SimdCvtOp = enums::SimdCvt;
72static const OpClass SimdMiscOp = enums::SimdMisc;
73static const OpClass SimdMultOp = enums::SimdMult;
74static const OpClass SimdMultAccOp = enums::SimdMultAcc;
75static const OpClass SimdMatMultAccOp = enums::SimdMatMultAcc;
76static const OpClass SimdShiftOp = enums::SimdShift;
77static const OpClass SimdShiftAccOp = enums::SimdShiftAcc;
78static const OpClass SimdDivOp = enums::SimdDiv;
79static const OpClass SimdSqrtOp = enums::SimdSqrt;
80static const OpClass SimdReduceAddOp = enums::SimdReduceAdd;
81static const OpClass SimdReduceAluOp = enums::SimdReduceAlu;
82static const OpClass SimdReduceCmpOp = enums::SimdReduceCmp;
83static const OpClass SimdFloatAddOp = enums::SimdFloatAdd;
84static const OpClass SimdFloatAluOp = enums::SimdFloatAlu;
85static const OpClass SimdFloatCmpOp = enums::SimdFloatCmp;
86static const OpClass SimdFloatCvtOp = enums::SimdFloatCvt;
87static const OpClass SimdFloatDivOp = enums::SimdFloatDiv;
88static const OpClass SimdFloatMiscOp = enums::SimdFloatMisc;
89static const OpClass SimdFloatMultOp = enums::SimdFloatMult;
90static const OpClass SimdFloatMultAccOp = enums::SimdFloatMultAcc;
91static const OpClass SimdFloatMatMultAccOp = enums::SimdFloatMatMultAcc;
92static const OpClass SimdFloatSqrtOp = enums::SimdFloatSqrt;
93static const OpClass SimdFloatReduceCmpOp = enums::SimdFloatReduceCmp;
94static const OpClass SimdFloatReduceAddOp = enums::SimdFloatReduceAdd;
95static const OpClass SimdAesOp = enums::SimdAes;
96static const OpClass SimdAesMixOp = enums::SimdAesMix;
97static const OpClass SimdSha1HashOp = enums::SimdSha1Hash;
98static const OpClass SimdSha1Hash2Op = enums::SimdSha1Hash2;
99static const OpClass SimdSha256HashOp = enums::SimdSha256Hash;
100static const OpClass SimdSha256Hash2Op = enums::SimdSha256Hash2;
101static const OpClass SimdShaSigma2Op = enums::SimdShaSigma2;
102static const OpClass SimdShaSigma3Op = enums::SimdShaSigma3;
103static const OpClass SimdPredAluOp = enums::SimdPredAlu;
104static const OpClass MatrixOp = enums::Matrix;
105static const OpClass MatrixMovOp = enums::MatrixMov;
106static const OpClass MatrixOPOp = enums::MatrixOP;
107static const OpClass MemReadOp = enums::MemRead;
108static const OpClass MemWriteOp = enums::MemWrite;
109static const OpClass FloatMemReadOp = enums::FloatMemRead;
110static const OpClass FloatMemWriteOp = enums::FloatMemWrite;
111static const OpClass SimdUnitStrideLoadOp = enums::SimdUnitStrideLoad;
112static const OpClass SimdUnitStrideStoreOp = enums::SimdUnitStrideStore;
113static const OpClass SimdUnitStrideMaskLoadOp
114 = enums::SimdUnitStrideMaskLoad;
115static const OpClass SimdUnitStrideMaskStoreOp
116 = enums::SimdUnitStrideMaskStore;
117static const OpClass SimdStridedLoadOp = enums::SimdStridedLoad;
118static const OpClass SimdStridedStoreOp = enums::SimdStridedStore;
119static const OpClass SimdIndexedLoadOp = enums::SimdIndexedLoad;
120static const OpClass SimdIndexedStoreOp = enums::SimdIndexedStore;
122 = enums::SimdUnitStrideFaultOnlyFirstLoad;
123static const OpClass SimdWholeRegisterLoadOp
124 = enums::SimdWholeRegisterLoad;
125static const OpClass SimdWholeRegisterStoreOp
126 = enums::SimdWholeRegisterStore;
127static const OpClass IprAccessOp = enums::IprAccess;
128static const OpClass InstPrefetchOp = enums::InstPrefetch;
129static const OpClass SimdUnitStrideSegmentedLoadOp = enums::SimdUnitStrideSegmentedLoad;
131 = enums::SimdUnitStrideSegmentedStore;
132static const OpClass SimdExtOp = enums::SimdExt;
133static const OpClass SimdFloatExtOp = enums::SimdFloatExt;
134static const OpClass SimdConfigOp = enums::SimdConfig;
135static const OpClass Num_OpClasses = enums::Num_OpClass;
136
137} // namespace gem5
138
139#endif // __CPU__OP_CLASS_HH__
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36
static const OpClass SimdFloatMultAccOp
Definition op_class.hh:90
static const OpClass SimdMatMultAccOp
Definition op_class.hh:75
static const OpClass SimdMultOp
Definition op_class.hh:73
static const OpClass InstPrefetchOp
Definition op_class.hh:128
static const OpClass SimdFloatMultOp
Definition op_class.hh:89
static const OpClass FloatSqrtOp
Definition op_class.hh:66
static const OpClass MemWriteOp
Definition op_class.hh:108
static const OpClass SimdUnitStrideMaskLoadOp
Definition op_class.hh:114
static const OpClass SimdWholeRegisterStoreOp
Definition op_class.hh:126
static const OpClass SimdFloatCmpOp
Definition op_class.hh:85
static const OpClass MatrixMovOp
Definition op_class.hh:105
static const OpClass SimdSqrtOp
Definition op_class.hh:79
static const OpClass SimdWholeRegisterLoadOp
Definition op_class.hh:124
static const OpClass SimdUnitStrideSegmentedLoadOp
Definition op_class.hh:129
static const OpClass SimdUnitStrideSegmentedStoreOp
Definition op_class.hh:131
static const OpClass SimdAddOp
Definition op_class.hh:67
static const OpClass IprAccessOp
Definition op_class.hh:127
static const OpClass Num_OpClasses
Definition op_class.hh:135
static const OpClass SimdAddAccOp
Definition op_class.hh:68
static const OpClass FloatMiscOp
Definition op_class.hh:65
static const OpClass SimdFloatMiscOp
Definition op_class.hh:88
static const OpClass FloatMemReadOp
Definition op_class.hh:109
static const OpClass SimdStridedLoadOp
Definition op_class.hh:117
static const OpClass SimdFloatExtOp
Definition op_class.hh:133
static const OpClass FloatCvtOp
Definition op_class.hh:61
static const OpClass SimdFloatSqrtOp
Definition op_class.hh:92
static const OpClass SimdFloatDivOp
Definition op_class.hh:87
static const OpClass SimdFloatReduceCmpOp
Definition op_class.hh:93
static const OpClass SimdExtOp
Definition op_class.hh:132
static const OpClass SimdAluOp
Definition op_class.hh:69
static const OpClass SimdUnitStrideMaskStoreOp
Definition op_class.hh:116
static const OpClass SimdFloatMatMultAccOp
Definition op_class.hh:91
static const OpClass MatrixOPOp
Definition op_class.hh:106
static const OpClass SimdDivOp
Definition op_class.hh:78
static const OpClass FloatCmpOp
Definition op_class.hh:60
static const OpClass SimdFloatAddOp
Definition op_class.hh:83
static const OpClass SimdMiscOp
Definition op_class.hh:72
static const OpClass IntMultOp
Definition op_class.hh:57
static const OpClass FloatMultAccOp
Definition op_class.hh:63
static const OpClass SimdReduceAddOp
Definition op_class.hh:80
static const OpClass SimdReduceAluOp
Definition op_class.hh:81
static const OpClass FloatAddOp
Definition op_class.hh:59
static const OpClass SimdConfigOp
Definition op_class.hh:134
static const OpClass SimdUnitStrideFaultOnlyFirstLoadOp
Definition op_class.hh:122
static const OpClass SimdStridedStoreOp
Definition op_class.hh:118
static const OpClass MatrixOp
Definition op_class.hh:104
static const OpClass SimdSha256Hash2Op
Definition op_class.hh:100
static const OpClass SimdIndexedLoadOp
Definition op_class.hh:119
static const OpClass SimdCvtOp
Definition op_class.hh:71
static const OpClass SimdIndexedStoreOp
Definition op_class.hh:120
static const OpClass SimdAesMixOp
Definition op_class.hh:96
static const OpClass SimdAesOp
Definition op_class.hh:95
static const OpClass SimdShiftOp
Definition op_class.hh:76
static const OpClass SimdSha1HashOp
Definition op_class.hh:97
static const OpClass SimdShaSigma3Op
Definition op_class.hh:102
static const OpClass SimdSha1Hash2Op
Definition op_class.hh:98
static const OpClass SimdMultAccOp
Definition op_class.hh:74
static const OpClass SimdSha256HashOp
Definition op_class.hh:99
static const OpClass SimdUnitStrideLoadOp
Definition op_class.hh:111
static const OpClass SimdReduceCmpOp
Definition op_class.hh:82
static const OpClass FloatMultOp
Definition op_class.hh:62
static const OpClass FloatMemWriteOp
Definition op_class.hh:110
static const OpClass SimdShiftAccOp
Definition op_class.hh:77
static const OpClass SimdFloatReduceAddOp
Definition op_class.hh:94
static const OpClass SimdShaSigma2Op
Definition op_class.hh:101
static const OpClass IntAluOp
Definition op_class.hh:56
static const OpClass IntDivOp
Definition op_class.hh:58
static const OpClass SimdFloatAluOp
Definition op_class.hh:84
static const OpClass SimdUnitStrideStoreOp
Definition op_class.hh:112
static const OpClass SimdFloatCvtOp
Definition op_class.hh:86
static const OpClass SimdCmpOp
Definition op_class.hh:70
static const OpClass MemReadOp
Definition op_class.hh:107
static const OpClass FloatDivOp
Definition op_class.hh:64
static const OpClass SimdPredAluOp
Definition op_class.hh:103

Generated on Tue Jun 18 2024 16:24:02 for gem5 by doxygen 1.11.0