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 --- 128 unchanged lines hidden (view full) --- 137}}; 138 139def template NeonExecDeclare {{ 140 template 141 Fault %(class_name)s<%(targs)s>::execute( 142 %(CPU_exec_context)s *, Trace::InstRecord *) const; 143}}; 144 |
145output header {{ 146 template <class T> 147 // Implement a less-than-zero function: ltz() 148 // this function exists because some versions of GCC complain when a 149 // comparison is done between a unsigned variable and 0 and for GCC 4.2 150 // there is no way to disable this warning 151 inline bool ltz(T t); 152 153 template <> 154 inline bool ltz(uint8_t) { return false; } 155 template <> 156 inline bool ltz(uint16_t) { return false; } 157 template <> 158 inline bool ltz(uint32_t) { return false; } 159 template <> 160 inline bool ltz(uint64_t) { return false; } 161 template <> 162 inline bool ltz(int8_t v) { return v < 0; } 163 template <> 164 inline bool ltz(int16_t v) { return v < 0; } 165 template <> 166 inline bool ltz(int32_t v) { return v < 0; } 167 template <> 168 inline bool ltz(int64_t v) { return v < 0; } 169}}; 170 |
171def template NeonEqualRegExecute {{ 172 template <class Element> 173 Fault %(class_name)s<Element>::execute(%(CPU_exec_context)s *xc, 174 Trace::InstRecord *traceData) const 175 { 176 Fault fault = NoFault; 177 %(op_decl)s; 178 %(op_rd)s; --- 75 unchanged lines hidden --- |