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 ---