neon.isa (8902:75b524b64c28) | neon.isa (10037:5cac77888310) |
---|---|
1// -*- mode:c++ -*- 2 | 1// -*- mode:c++ -*- 2 |
3// Copyright (c) 2010 ARM Limited | 3// Copyright (c) 2010-2012 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 9// to a hardware implementation of the functionality of the software 10// licensed hereunder. You may use the software subject to the license 11// terms below provided that you ensure that this notice is replicated --- 22 unchanged lines hidden (view full) --- 34// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 35// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 36// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37// 38// Authors: Gabe Black 39 40let {{ 41 simdEnabledCheckCode = ''' | 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 9// to a hardware implementation of the functionality of the software 10// licensed hereunder. You may use the software subject to the license 11// terms below provided that you ensure that this notice is replicated --- 22 unchanged lines hidden (view full) --- 34// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 35// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 36// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37// 38// Authors: Gabe Black 39 40let {{ 41 simdEnabledCheckCode = ''' |
42 if (!neonEnabled(Cpacr, Cpsr, Fpexc)) 43 return disabledFault(); | 42 { 43 uint32_t issEnCheck; 44 bool trapEnCheck; 45 uint32_t seq; 46 if (!vfpNeonEnabled(seq, Hcptr, Nsacr, Cpacr, Cpsr, issEnCheck, 47 trapEnCheck, xc->tcBase(), Fpexc, true)) 48 {return disabledFault();} 49 if (trapEnCheck) { 50 CPSR cpsrEnCheck = Cpsr; 51 if (cpsrEnCheck.mode == MODE_HYP) { 52 return new UndefinedInstruction(machInst, issEnCheck, 53 EC_TRAPPED_HCPTR); 54 } else { 55 if (!inSecureState(Scr, Cpsr)) { 56 return new HypervisorTrap(machInst, issEnCheck, 57 EC_TRAPPED_HCPTR); 58 } 59 } 60 } 61 } |
44 ''' 45}}; 46 47 48def template NeonRegRegRegOpDeclare {{ 49template <class _Element> 50class %(class_name)s : public %(base_class)s 51{ --- 235 unchanged lines hidden --- | 62 ''' 63}}; 64 65 66def template NeonRegRegRegOpDeclare {{ 67template <class _Element> 68class %(class_name)s : public %(base_class)s 69{ --- 235 unchanged lines hidden --- |