1// -*- mode:c++ -*- 2 3// Copyright (c) 2010-2012, 2016 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 --- 163 unchanged lines hidden (view full) --- 172 173 %(BasicExecDeclare)s 174}; 175}}; 176 177def template NeonExecDeclare {{ 178 template 179 Fault %(class_name)s<%(targs)s>::execute( |
180 ExecContext *, Trace::InstRecord *) const; |
181}}; 182 183output header {{ 184 template <class T> 185 // Implement a less-than-zero function: ltz() 186 // this function exists because some versions of GCC complain when a 187 // comparison is done between a unsigned variable and 0 and for GCC 4.2 188 // there is no way to disable this warning --- 14 unchanged lines hidden (view full) --- 203 template <> 204 inline bool ltz(int32_t v) { return v < 0; } 205 template <> 206 inline bool ltz(int64_t v) { return v < 0; } 207}}; 208 209def template NeonEqualRegExecute {{ 210 template <class Element> |
211 Fault %(class_name)s<Element>::execute(ExecContext *xc, |
212 Trace::InstRecord *traceData) const 213 { 214 Fault fault = NoFault; 215 %(op_decl)s; 216 %(op_rd)s; 217 218 const unsigned rCount = %(r_count)d; 219 const unsigned eCount = rCount * sizeof(FloatRegBits) / sizeof(Element); --- 28 unchanged lines hidden (view full) --- 248 249 template<> struct bigger_type_t<int8_t> { typedef int16_t type; }; 250 template<> struct bigger_type_t<int16_t> { typedef int32_t type; }; 251 template<> struct bigger_type_t<int32_t> { typedef int64_t type; }; 252}}; 253 254def template NeonUnequalRegExecute {{ 255 template <class Element> |
256 Fault %(class_name)s<Element>::execute(ExecContext *xc, |
257 Trace::InstRecord *traceData) const 258 { 259 typedef typename bigger_type_t<Element>::type BigElement; 260 Fault fault = NoFault; 261 %(op_decl)s; 262 %(op_rd)s; 263 264 const unsigned rCount = %(r_count)d; --- 27 unchanged lines hidden --- |