Home | History | Annotate | Download | only in template
      1 
      2 # Copyright (C) 2009 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 
     16 #
     17 # Configuration for ARMv5TE architecture targets.
     18 #
     19 
     20 # file header and basic definitions
     21 #import c/header.c
     22 import mips/header.S
     23 
     24 # C pre-processor defines for stub C instructions
     25 #import cstubs/stubdefs.c
     26 
     27 # highly-platform-specific defs
     28 import mips/platform.S
     29 
     30 # common defs for the C helpers; include this before the instruction handlers
     31 #import c/opcommon.c
     32 
     33 # opcode list; argument to op-start is default directory
     34 op-start mips
     35 
     36     op TEMPLATE_SHL_LONG mips
     37     op TEMPLATE_SHR_LONG mips
     38     op TEMPLATE_USHR_LONG mips
     39     op TEMPLATE_INT_TO_DOUBLE_VFP mips
     40     op TEMPLATE_FLOAT_TO_DOUBLE_VFP mips
     41     op TEMPLATE_ADD_DOUBLE_VFP mips
     42     op TEMPLATE_DIV_DOUBLE_VFP mips
     43     op TEMPLATE_MUL_DOUBLE_VFP mips
     44     op TEMPLATE_SUB_DOUBLE_VFP mips
     45     op TEMPLATE_ADD_FLOAT_VFP mips
     46     op TEMPLATE_DIV_FLOAT_VFP mips
     47     op TEMPLATE_MUL_FLOAT_VFP mips
     48     op TEMPLATE_SUB_FLOAT_VFP mips
     49     op TEMPLATE_FLOAT_TO_INT_VFP mips
     50     op TEMPLATE_INT_TO_FLOAT_VFP mips
     51     op TEMPLATE_DOUBLE_TO_FLOAT_VFP mips
     52     op TEMPLATE_DOUBLE_TO_INT_VFP mips
     53     op TEMPLATE_CMP_LONG mips
     54     op TEMPLATE_CMPL_FLOAT_VFP mips
     55     op TEMPLATE_CMPL_DOUBLE_VFP mips
     56     op TEMPLATE_CMPG_FLOAT_VFP mips
     57     op TEMPLATE_CMPG_DOUBLE_VFP mips
     58     op TEMPLATE_MUL_LONG mips
     59     op TEMPLATE_INTERPRET mips
     60     op TEMPLATE_THROW_EXCEPTION_COMMON mips
     61     op TEMPLATE_SQRT_DOUBLE_VFP mips
     62     op TEMPLATE_SAVE_STATE mips
     63     op TEMPLATE_RESTORE_STATE mips
     64     op TEMPLATE_RETURN mips
     65     op TEMPLATE_STRING_COMPARETO mips
     66     op TEMPLATE_STRING_INDEXOF mips
     67     op TEMPLATE_MEM_OP_DECODE mips
     68     op TEMPLATE_MONITOR_ENTER mips
     69     op TEMPLATE_MONITOR_ENTER_DEBUG mips
     70     op TEMPLATE_INVOKE_METHOD_PREDICTED_CHAIN mips
     71     op TEMPLATE_INVOKE_METHOD_CHAIN mips
     72     op TEMPLATE_INVOKE_METHOD_NATIVE mips
     73     op TEMPLATE_INVOKE_METHOD_NO_OPT mips
     74 
     75     # New templates for ICS
     76     op TEMPLATE_INVOKE_METHOD_PREDICTED_CHAIN_PROF mips
     77     op TEMPLATE_INVOKE_METHOD_CHAIN_PROF mips
     78     op TEMPLATE_INVOKE_METHOD_NATIVE_PROF mips
     79     op TEMPLATE_INVOKE_METHOD_NO_OPT_PROF mips
     80     op TEMPLATE_PERIODIC_PROFILING mips
     81     op TEMPLATE_RETURN_PROF mips
     82 
     83 op-end
     84 
     85 # "helper" code for C; include if you use any of the C stubs (this generates
     86 # object code, so it's normally excluded)
     87 ##import c/gotoTargets.c
     88 
     89 # end of defs; include this when cstubs/stubdefs.c is included
     90 #import cstubs/enddefs.c
     91 
     92 # common subroutines for asm
     93 import mips/footer.S
     94