1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 45 unchanged lines hidden (view full) --- 54 public: 55 // Constructor 56 %(class_name)s(ExtMachInst machInst, 57 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2) 58 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, 59 _dest, _op1, _op2) 60 { 61 %(constructor)s; |
62 if (!(condCode == COND_AL || condCode == COND_UC)) { 63 for (int x = 0; x < _numDestRegs; x++) { 64 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x]; 65 } 66 } |
67 } 68 69 %(BasicExecDeclare)s 70}; 71}}; 72 73def template NeonRegRegRegImmOpDeclare {{ 74template <class _Element> --- 5 unchanged lines hidden (view full) --- 80 // Constructor 81 %(class_name)s(ExtMachInst machInst, 82 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2, 83 uint64_t _imm) 84 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, 85 _dest, _op1, _op2, _imm) 86 { 87 %(constructor)s; |
88 if (!(condCode == COND_AL || condCode == COND_UC)) { 89 for (int x = 0; x < _numDestRegs; x++) { 90 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x]; 91 } 92 } |
93 } 94 95 %(BasicExecDeclare)s 96}; 97}}; 98 99def template NeonRegRegImmOpDeclare {{ 100template <class _Element> --- 4 unchanged lines hidden (view full) --- 105 public: 106 // Constructor 107 %(class_name)s(ExtMachInst machInst, 108 IntRegIndex _dest, IntRegIndex _op1, uint64_t _imm) 109 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, 110 _dest, _op1, _imm) 111 { 112 %(constructor)s; |
113 if (!(condCode == COND_AL || condCode == COND_UC)) { 114 for (int x = 0; x < _numDestRegs; x++) { 115 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x]; 116 } 117 } |
118 } 119 120 %(BasicExecDeclare)s 121}; 122}}; 123 124def template NeonRegImmOpDeclare {{ 125template <class _Element> 126class %(class_name)s : public %(base_class)s 127{ 128 protected: 129 typedef _Element Element; 130 public: 131 // Constructor 132 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, uint64_t _imm) 133 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _imm) 134 { 135 %(constructor)s; |
136 if (!(condCode == COND_AL || condCode == COND_UC)) { 137 for (int x = 0; x < _numDestRegs; x++) { 138 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x]; 139 } 140 } |
141 } 142 143 %(BasicExecDeclare)s 144}; 145}}; 146 147def template NeonRegRegOpDeclare {{ 148template <class _Element> --- 4 unchanged lines hidden (view full) --- 153 public: 154 // Constructor 155 %(class_name)s(ExtMachInst machInst, 156 IntRegIndex _dest, IntRegIndex _op1) 157 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, 158 _dest, _op1) 159 { 160 %(constructor)s; |
161 if (!(condCode == COND_AL || condCode == COND_UC)) { 162 for (int x = 0; x < _numDestRegs; x++) { 163 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x]; 164 } 165 } |
166 } 167 168 %(BasicExecDeclare)s 169}; 170}}; 171 172def template NeonExecDeclare {{ 173 template --- 113 unchanged lines hidden --- |