neon.isa (10474:799c8ee4ecba) | neon.isa (11513:cb3a401c45d7) |
---|---|
1// -*- mode:c++ -*- 2 | 1// -*- mode:c++ -*- 2 |
3// Copyright (c) 2010-2012 ARM Limited | 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 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 --- 23 unchanged lines hidden (view full) --- 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 { | 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 --- 23 unchanged lines hidden (view full) --- 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 { |
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 std::make_shared<UndefinedInstruction>( 53 machInst, issEnCheck, 54 EC_TRAPPED_HCPTR); 55 } else { 56 if (!inSecureState(Scr, Cpsr)) { 57 return std::make_shared<HypervisorTrap>( 58 machInst, issEnCheck, 59 EC_TRAPPED_HCPTR); 60 } 61 } 62 } | 43 Fault fault = checkAdvSIMDOrFPEnabled32(xc->tcBase(), 44 Cpsr, Cpacr, Nsacr, Fpexc, 45 true, true); 46 if (fault != NoFault) 47 return fault; |
63 } 64 ''' 65}}; 66 67 68def template NeonRegRegRegOpDeclare {{ 69template <class _Element> 70class %(class_name)s : public %(base_class)s --- 236 unchanged lines hidden --- | 48 } 49 ''' 50}}; 51 52 53def template NeonRegRegRegOpDeclare {{ 54template <class _Element> 55class %(class_name)s : public %(base_class)s --- 236 unchanged lines hidden --- |