<s> arch = strcmp ( argv [ <NUM_LIT> ] , <STR_LIT> ) == <NUM_LIT> ; if ( ! arch && strcmp ( argv [ <NUM_LIT> ] , <STR_LIT> ) != <NUM_LIT> && strcmp ( argv [ <NUM_LIT> ] , <STR_LIT> ) ) goto not_found ; f = fopen ( <STR_LIT> , <STR_LIT> ) ; if ( f == NULL ) goto not_found ; while ( fgets ( buf , sizeof ( buf ) , f ) != NULL ) { if ( strncmp ( buf , <STR_LIT> , sizeof ( <STR_LIT> ) - <NUM_LIT> ) == <NUM_LIT> ) { int i ; for ( i = <NUM_LIT> ; vendors [ i ] . vendor_no != NULL ; i ++ ) if ( strstr ( buf , vendors [ i ] . vendor_no ) != NULL ) { cpu_table = vendors [ i ] . vendor_parts ; break ; } } if ( strncmp ( buf , <STR_LIT> , sizeof ( <STR_LIT> ) - <NUM_LIT> ) == <NUM_LIT> ) { int i ; if ( cpu_table == NULL ) goto not_found ; for ( i = <NUM_LIT> ; cpu_table [ i ] . part_no != NULL ; i ++ ) if ( strstr ( buf , cpu_table [ i ] . part_no ) != NULL ) { val = arch ? cpu_table [ i ] . arch_name : cpu_table [ i ] . cpu_name ; break ; } break ; } } if ( val ) { fclose ( f ) ; return concat ( <STR_LIT> , argv [ <NUM_LIT> ] , <STR_LIT> , val , NULL ) ; } not_found : { unsigned int i ; unsigned int opt ; const char * search [ ] = { NULL , <STR_LIT> } ; if ( f ) fclose ( f ) ; search [ <NUM_LIT> ] = argv [ <NUM_LIT> ] ; for ( opt = <NUM_LIT> ; opt < ARRAY_SIZE ( search ) ; opt ++ ) for ( i = <NUM_LIT> ; i < ARRAY_SIZE ( configure_default_options ) ; i ++ ) if ( strcmp ( configure_default_options [ i ] . name , search [ opt ] ) == <NUM_LIT> ) return concat ( <STR_LIT> , search [ opt ] , <STR_LIT> , configure_default_options [ i ] . value , NULL ) ;


<s> if ( ! arch && strcmp ( argv [ <NUM_LIT> ] , <STR_LIT> ) != <NUM_LIT> && strcmp ( argv [ <NUM_LIT> ] , <STR_LIT> ) ) goto not_found ; fcpu_info = getenv ( <STR_LIT> ) ; if ( fcpu_info ) f = fopen ( fcpu_info , <STR_LIT> ) ; else f = fopen ( <STR_LIT> , <STR_LIT> ) ; if ( f == NULL ) goto not_found ; while ( fgets ( buf , sizeof ( buf ) , f ) != NULL ) { if ( startswith ( buf , <STR_LIT> ) ) { int i ; for ( i = <NUM_LIT> ; vendors_table [ i ] . vendor_no != NULL ; i ++ ) if ( strstr ( buf , vendors_table [ i ] . vendor_no ) != NULL ) { cpu_table = vendors_table [ i ] . vendor_parts ; break ; } } if ( startswith ( buf , <STR_LIT> ) ) { int i ; if ( cpu_table == NULL ) goto not_found ; for ( i = <NUM_LIT> ; cpu_table [ i ] . part_no != NULL ; i ++ ) if ( strstr ( buf , cpu_table [ i ] . part_no ) != NULL ) { val = arch ? cpu_table [ i ] . arch_name : cpu_table [ i ] . cpu_name ; break ; } break ; } } if ( val ) { fclose ( f ) ; return concat ( <STR_LIT> , argv [ <NUM_LIT> ] , <STR_LIT> , val , NULL ) ; }


<s> return __builtin_arm_wandn ( __m1 , __m2 ) ;


<s> __attribute__ ( ( vector_size ( <NUM_LIT> ) ) ) ;


<s> case <NUM_LIT> : return __builtin_arm_getwcx ( <NUM_LIT> ) ; case <NUM_LIT> : return __builtin_arm_getwcx ( <NUM_LIT> ) ; case <NUM_LIT> : return __builtin_arm_getwcx ( <NUM_LIT> ) ;


<s> static __inline int _mm_getwcx ( const int __regno ) { switch ( __regno ) { case <NUM_LIT> : return __builtin_arm_getwcx ( <NUM_LIT> ) ; case <NUM_LIT> : return __builtin_arm_getwcx ( <NUM_LIT> ) ; case <NUM_LIT> : return __builtin_arm_getwcx ( <NUM_LIT> ) ;


<s> case <NUM_LIT> : __builtin_arm_setwcx ( __value , <NUM_LIT> ) ; break ; case <NUM_LIT> : __builtin_arm_setwcx ( __value , <NUM_LIT> ) ; break ; case <NUM_LIT> : __builtin_arm_setwcx ( __value , <NUM_LIT> ) ; break ; case <NUM_LIT> : __builtin_arm_setwcx ( __value , <NUM_LIT> ) ; break ;


<s> unsigned int __i0 = ( unsigned short ) __w1 << <NUM_LIT> | ( unsigned short ) __w0 ;


<s> unsigned int __i1 = ( unsigned short ) __w3 << <NUM_LIT> | ( unsigned short ) __w2 ; unsigned int __i0 = ( unsigned short ) __w1 << <NUM_LIT> | ( unsigned short ) __w0 ; return _mm_set_pi32 ( __i1 , __i0 ) ;


<s> return ( __m64 ) __builtin_arm_wabsdiffh ( ( __v4hi ) a , ( __v4hi ) b ) ;


return ( __m64 ) __builtin_arm_wabsdiffw ( ( __v2si ) a , ( __v2si ) b ) ;


<s> static __inline __m64 _mm_absdiff_pu8 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_wabsdiffb ( ( __v8qi ) a , ( __v8qi ) b ) ;


return ( __m64 ) __builtin_arm_wabsh ( ( __v4hi ) m1 ) ;


<s> return ( __m64 ) __builtin_arm_wabsw ( ( __v2si ) m1 ) ;


return ( __m64 ) __builtin_arm_wabsb ( ( __v8qi ) m1 ) ;


<s> return ( __m64 ) __builtin_arm_wabsb ( ( __v8qi ) m1 ) ;


return __builtin_arm_waccw ( ( __v2si ) __A ) ;


<s> return ( __m64 ) __builtin_arm_waddbhusl ( ( __v4hi ) a , ( __v8qi ) b ) ;


return ( __m64 ) __builtin_arm_waddbhusm ( ( __v4hi ) a , ( __v8qi ) b ) ;


<s> __m64 result ; __asm__ __volatile__ ( <STR_LIT> : <STR_LIT> ( result ) : <STR_LIT> ( a ) , <STR_LIT> ( b ) ) ;


<s> return ( __m64 ) __builtin_arm_waddhss ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_waddwus ( ( __v2si ) __m1 , ( __v2si ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_waddbus ( ( __v8qi ) __m1 , ( __v8qi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_walignr0 ( ( __v8qi ) a , ( __v8qi ) b ) ;


return ( __m64 ) __builtin_arm_walignr1 ( ( __v8qi ) a , ( __v8qi ) b ) ;


<s> static __inline __m64 _mm_alignr3_si64 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_walignr3 ( ( __v8qi ) a , ( __v8qi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wavg2h ( ( __v4hi ) __A , ( __v4hi ) __B ) ;


<s> return ( __m64 ) __builtin_arm_wavg2b ( ( __v8qi ) __A , ( __v8qi ) __B ) ;


<s> static __inline __m64 _mm_avg4r_pu8 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_wavg4r ( ( __v8qi ) a , ( __v8qi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wavg4 ( ( __v8qi ) a , ( __v8qi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wavg2br ( ( __v8qi ) __A , ( __v8qi ) __B ) ;


<s> return ( __m64 ) __builtin_arm_wcmpeqh ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wcmpeqw ( ( __v2si ) __m1 , ( __v2si ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wcmpeqb ( ( __v8qi ) __m1 , ( __v8qi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wcmpgtsb ( ( __v8qi ) __m1 , ( __v8qi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wcmpgtuh ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wcmpgtuw ( ( __v2si ) __m1 , ( __v2si ) __m2 ) ;


<s> extern __inline void __attribute__ ( ( __gnu_inline__ , __always_inline__ , __artificial__ ) ) _mm_empty ( void ) {


<s> case <NUM_LIT> : __asm __volatile ( <STR_LIT> : <STR_LIT> ( __value ) ) ; break ; case <NUM_LIT> : return __builtin_arm_getwcgr0 ( ) ; case <NUM_LIT> : return __builtin_arm_getwcgr1 ( ) ; case <NUM_LIT> : return __builtin_arm_getwcgr2 ( ) ; case <NUM_LIT> : return __builtin_arm_getwcgr3 ( ) ; default :


<s> case <NUM_LIT> : __asm __volatile ( <STR_LIT> : <STR_LIT> ( __value ) ) ; break ; case <NUM_LIT> : __asm __volatile ( <STR_LIT> : <STR_LIT> ( __value ) ) ; break ; case <NUM_LIT> : return __builtin_arm_getwcgr0 ( ) ; case <NUM_LIT> : return __builtin_arm_getwcgr1 ( ) ; case <NUM_LIT> : return __builtin_arm_getwcgr2 ( ) ; case <NUM_LIT> : return __builtin_arm_getwcgr3 ( ) ; default : break ; } return __value ;


<s> return __builtin_arm_wmacsz ( ( __v4hi ) __A , ( __v4hi ) __B ) ;


<s> return __builtin_arm_wmacuz ( ( __v4hi ) __A , ( __v4hi ) __B ) ;


<s> return ( __m64 ) __builtin_arm_wmaddux ( ( __v4hi ) a , ( __v4hi ) b ) ;


return ( __m64 ) __builtin_arm_wmaddux ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wmadds ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wmaxsw ( ( __v2si ) __A , ( __v2si ) __B ) ;


<s> return ( __m64 ) __builtin_arm_wminsh ( ( __v4hi ) __A , ( __v4hi ) __B ) ;


<s> return ( __m64 ) __builtin_arm_wminuw ( ( __v2si ) __A , ( __v2si ) __B ) ;


<s> return ( __m64 ) __builtin_arm_wminub ( ( __v8qi ) __A , ( __v8qi ) __B ) ;


<s> return __builtin_arm_tmovmskh ( ( __v4hi ) __A ) ;


<s> return __builtin_arm_tmovmskb ( ( __v8qi ) __A ) ;


return __builtin_arm_tmovmskb ( ( __v8qi ) __A ) ;


<s> return ( __m64 ) __builtin_arm_wmaddsn ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wmaddun ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wmulsmr ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wmulwsmr ( ( __v2si ) a , ( __v2si ) b ) ;


<s> static __inline __m64 _mm_mulhir_pu16 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_wmulumr ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wmulsm ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> static __inline __m64 _mm_mulhi_pi32 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_wmulwsm ( ( __v2si ) a , ( __v2si ) b ) ;


<s> return ( __m64 ) __builtin_arm_wmulum ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wmulwum ( ( __v2si ) a , ( __v2si ) b ) ;


return ( __m64 ) __builtin_arm_wmulwl ( ( __v2si ) a , ( __v2si ) b ) ;


<s> return ( __m64 ) __builtin_arm_wpackhss ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


return ( __m64 ) __builtin_arm_wpackdus ( ( long long ) __m1 , ( long long ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wpackdus ( ( long long ) __m1 , ( long long ) __m2 ) ;


return ( __m64 ) __builtin_arm_wqmulmr ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> static __inline __m64 _mm_qmulmr_pi16 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_wqmulmr ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wqmulwmr ( ( __v2si ) a , ( __v2si ) b ) ;


<s> return ( __m64 ) __builtin_arm_wqmulm ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> static __inline __m64 _mm_qmulm_pi32 ( __m64 a , __m64 b ) { return ( __m64 ) __builtin_arm_wqmulwm ( ( __v2si ) a , ( __v2si ) b ) ;


<s> return ( __m64 ) __builtin_arm_wrorhi ( ( __v4hi ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wrordi ( __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wrorh ( ( __v4hi ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wrord ( __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsadbz ( ( __v8qi ) __A , ( __v8qi ) __B ) ;


<s> unsigned int __i = ( unsigned short ) __w << <NUM_LIT> | ( unsigned short ) __w ;


<s> unsigned int __w = ( unsigned char ) __b << <NUM_LIT> | ( unsigned char ) __b ; unsigned int __i = __w << <NUM_LIT> | __w ; return _mm_set1_pi32 ( __i ) ;


<s> unsigned int __w = ( unsigned char ) __b << <NUM_LIT> | ( unsigned char ) __b ; unsigned int __i = __w << <NUM_LIT> | __w ;


<s> static __inline __m64 _mm_setzero_si64 ( void ) { return __builtin_arm_wzero ( ) ;


<s> unsigned int __i0 = ( unsigned short ) __w1 << <NUM_LIT> | ( unsigned short ) __w0 ; return _mm_set_pi32 ( __i1 , __i0 ) ;


<s> __i1 = __i1 << <NUM_LIT> | ( unsigned char ) __b4 ; __i0 = ( unsigned char ) __b3 ; __i0 = __i0 << <NUM_LIT> | ( unsigned char ) __b2 ; __i0 = __i0 << <NUM_LIT> | ( unsigned char ) __b1 ;

__i0 = __i0 << <NUM_LIT> | ( unsigned char ) __b0 ;


<s> __i1 = __i1 << <NUM_LIT> | ( unsigned char ) __b4 ; __i0 = ( unsigned char ) __b3 ; __i0 = __i0 << <NUM_LIT> | ( unsigned char ) __b2 ;

__i0 = __i0 << <NUM_LIT> | ( unsigned char ) __b1 ;


<s> return ( __m64 ) __builtin_arm_wsllwi ( ( __v2si ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsllh ( ( __v4hi ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsllw ( ( __v2si ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsrawi ( ( __v2si ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsradi ( __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsrad ( __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsrlh ( ( __v4hi ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsrlw ( ( __v2si ) __m , __count ) ;


<s> return ( __m64 ) __builtin_arm_wsrld ( __m , __count ) ;


return ( __m64 ) __builtin_arm_wsubaddhx ( ( __v4hi ) a , ( __v4hi ) b ) ;


<s> return ( __m64 ) __builtin_arm_wsubbus ( ( __v8qi ) __m1 , ( __v8qi ) __m2 ) ;


<s> static __inline __m64 _mm_tbcst_pi16 ( int value ) { return ( __m64 ) __builtin_arm_tbcsth ( ( short ) value ) ;


<s> static __inline __m64 _mm_tbcst_pi32 ( int value ) {

return ( __m64 ) __builtin_arm_tbcstw ( value ) ;


<s> static __inline void _mm_torcb ( ) {


<s> return ( __m64 ) __builtin_arm_wunpckehsw ( ( __v2si ) __m1 ) ;


return ( __m64 ) __builtin_arm_wunpckehuh ( ( __v4hi ) __m1 ) ;


<s> return ( __m64 ) __builtin_arm_wunpckelsh ( ( __v4hi ) __m1 ) ;


<s> return ( __m64 ) __builtin_arm_wunpckelsw ( ( __v2si ) __m1 ) ;


return ( __m64 ) __builtin_arm_wunpckeluw ( ( __v2si ) __m1 ) ;


return ( __m64 ) __builtin_arm_wunpckelub ( ( __v8qi ) __m1 ) ;


<s> return ( __m64 ) __builtin_arm_wunpckilh ( ( __v4hi ) __m1 , ( __v4hi ) __m2 ) ;


<s> return ( __m64 ) __builtin_arm_wunpckilw ( ( __v2si ) __m1 , ( __v2si ) __m2 ) ;


<s> return __builtin_arm_wxor ( __m1 , __m2 ) ;


<s> _uw8 b ; if ( uws -> bytes_left == <NUM_LIT> ) { if ( uws -> words_left == <NUM_LIT> ) return CODE_FINISH ; uws -> words_left -- ; uws -> data = * ( uws -> next ++ ) ; uws -> bytes_left = <NUM_LIT> ; } else uws -> bytes_left -- ; b = ( uws -> data >> <NUM_LIT> ) & <NUM_LIT> ; uws -> data <<= <NUM_LIT> ; return b ;


<s> uws -> bytes_left = <NUM_LIT> ; } else uws -> bytes_left -- ; b = ( uws -> data >> <NUM_LIT> ) & <NUM_LIT> ; uws -> data <<= <NUM_LIT> ;


<s> _uw offset ; offset = * p ; if ( offset & ( <NUM_LIT> << <NUM_LIT> ) ) offset |= <NUM_LIT> << <NUM_LIT> ;


<s> return ( _Unwind_Control_Block * ) _Unwind_GetGR ( context , R_IP ) ;


<s> ptr += ( ( ( * ptr ) >> <NUM_LIT> ) & <NUM_LIT> ) + <NUM_LIT> ;


ucbp = unwind_UCB_from_context ( context ) ;


<s> int shift ; _Unwind_VRS_Get ( context , _UVRSC_CORE , R_SP , _UVRSD_UINT32 , & reg ) ; op = next_unwind_byte ( uws ) ; shift = <NUM_LIT> ; while ( op & <NUM_LIT> ) { reg += ( ( op & <NUM_LIT> ) << shift ) ; shift += <NUM_LIT> ; op = next_unwind_byte ( uws ) ; } reg += ( ( op & <NUM_LIT> ) << shift ) + <NUM_LIT> ; _Unwind_VRS_Set ( context , _UVRSC_CORE , R_SP , _UVRSD_UINT32 , & reg ) ; continue ; } if ( op == <NUM_LIT> ) { op = next_unwind_byte ( uws ) ; op = ( ( op & <NUM_LIT> ) << <NUM_LIT> ) | ( op & <NUM_LIT> ) ; if ( _Unwind_VRS_Pop ( context , _UVRSC_VFP , op , _UVRSD_VFPX ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; } if ( ( op & <NUM_LIT> ) == <NUM_LIT> ) { op = <NUM_LIT> | ( ( op & <NUM_LIT> ) + <NUM_LIT> ) ; if ( _Unwind_VRS_Pop ( context , _UVRSC_FPA , op , _UVRSD_FPAX ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; } op = <NUM_LIT> | ( ( op & <NUM_LIT> ) + <NUM_LIT> ) ; if ( _Unwind_VRS_Pop ( context , _UVRSC_VFP , op , _UVRSD_VFPX ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; } if ( ( op & <NUM_LIT> ) == <NUM_LIT> ) { if ( op == <NUM_LIT> ) { op = next_unwind_byte ( uws ) ; op = ( ( op & <NUM_LIT> ) << <NUM_LIT> ) | ( op & <NUM_LIT> ) ; if ( _Unwind_VRS_Pop ( context , _UVRSC_WMMXD , op , _UVRSD_UINT64 ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; } if ( op == <NUM_LIT> ) { op = next_unwind_byte ( uws ) ; if ( op == <NUM_LIT> || ( op & <NUM_LIT> ) != <NUM_LIT> ) return _URC_FAILURE ; if ( _Unwind_VRS_Pop ( context , _UVRSC_WMMXC , op , _UVRSD_UINT32 ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; } if ( ( op & <NUM_LIT> ) == <NUM_LIT> ) { op = <NUM_LIT> | ( ( op & <NUM_LIT> ) + <NUM_LIT> ) ; if ( _Unwind_VRS_Pop ( context , _UVRSC_WMMXD , op , _UVRSD_UINT64 ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; } if ( op == <NUM_LIT> ) { op = next_unwind_byte ( uws ) ; op = ( ( op & <NUM_LIT> ) << <NUM_LIT> ) | ( op & <NUM_LIT> ) ; if ( _Unwind_VRS_Pop ( context , _UVRSC_FPA , op , _UVRSD_FPAX ) != _UVRSR_OK ) return _URC_FAILURE ; continue ; }


<s> uws . next = ptr + <NUM_LIT> ; uws . bytes_left = <NUM_LIT> ; uws . words_left = ( ( * ptr ) >> <NUM_LIT> ) & <NUM_LIT> ;

return __gnu_unwind_execute ( context , & uws ) ;


<s> uws . next = ptr + <NUM_LIT> ; uws . bytes_left = <NUM_LIT> ;

uws . words_left = ( ( * ptr ) >> <NUM_LIT> ) & <NUM_LIT> ;


<s> return ( ( struct u4 * ) ptr ) -> data ;


<s> return ( ( struct u8 * ) ptr ) -> data ;


<s> int __aeabi_uwrite4 ( int data , void * ptr ) { ( ( struct u4 * ) ptr ) -> data = data ;


<s> ( ( struct u4 * ) ptr ) -> data = data ;


<s> ( ( struct u8 * ) ptr ) -> data = data ;


<s> ( ( struct u8 * ) ptr ) -> data = data ; return data ;


<s> UCB_PR_ADDR ( ucbp ) = <NUM_LIT> ; return _URC_END_OF_STACK ; } if ( eitp -> content & uint32_highbit ) { ucbp -> pr_cache . ehtp = ( _Unwind_EHT_Header * ) & eitp -> content ; ucbp -> pr_cache . additional = <NUM_LIT> ; } else { ucbp -> pr_cache . ehtp = ( _Unwind_EHT_Header * ) selfrel_offset31 ( & eitp -> content ) ; ucbp -> pr_cache . additional = <NUM_LIT> ; } if ( * ucbp -> pr_cache . ehtp & ( <NUM_LIT> << <NUM_LIT> ) ) { _uw idx = ( * ( _uw * ) ucbp -> pr_cache . ehtp >> <NUM_LIT> ) & <NUM_LIT> ; if ( idx == <NUM_LIT> ) UCB_PR_ADDR ( ucbp ) = ( _uw ) & __aeabi_unwind_cpp_pr0 ; else if ( idx == <NUM_LIT> ) UCB_PR_ADDR ( ucbp ) = ( _uw ) & __aeabi_unwind_cpp_pr1 ; else if ( idx == <NUM_LIT> ) UCB_PR_ADDR ( ucbp ) = ( _uw ) & __aeabi_unwind_cpp_pr2 ; else { UCB_PR_ADDR ( ucbp ) = <NUM_LIT> ; return _URC_FAILURE ;


<s> if ( ( vrs -> demand_save_flags & DEMAND_SAVE_VFP ) == <NUM_LIT> ) __gnu_Unwind_Restore_VFP ( & vrs -> vfp ) ;


<s> if ( nrec == <NUM_LIT> ) return ( __EIT_entry * ) <NUM_LIT> ; left = <NUM_LIT> ; right = nrec - <NUM_LIT> ; while ( <NUM_LIT> ) { n = ( left + right ) / <NUM_LIT> ; this_fn = selfrel_offset31 ( & table [ n ] . fnoffset ) ; if ( n != nrec - <NUM_LIT> ) next_fn = selfrel_offset31 ( & table [ n + <NUM_LIT> ] . fnoffset ) - <NUM_LIT> ; else next_fn = ( _uw ) <NUM_LIT> - <NUM_LIT> ; if ( return_address < this_fn ) { if ( n == left ) return ( __EIT_entry * ) <NUM_LIT> ; right = n - <NUM_LIT> ; } else if ( return_address <= next_fn ) return & table [ n ] ; else left = n + <NUM_LIT> ; }


<s> if ( get_eit_entry ( ucbp , vrs -> core . r [ R_PC ] ) != _URC_OK ) abort ( ) ; UCB_SAVED_CALLSITE_ADDR ( ucbp ) = vrs -> core . r [ R_PC ] ; pr_result = ( ( personality_routine ) UCB_PR_ADDR ( ucbp ) ) ( _US_UNWIND_FRAME_STARTING , ucbp , ( _Unwind_Context * ) vrs ) ; } while ( pr_result == _URC_CONTINUE_UNWIND ) ; if ( pr_result != _URC_INSTALL_CONTEXT ) abort ( ) ;


<s> UCB_SAVED_CALLSITE_ADDR ( ucbp ) = vrs -> core . r [ R_PC ] ; pr_result = ( ( personality_routine ) UCB_PR_ADDR ( ucbp ) ) ( _US_UNWIND_FRAME_STARTING , ucbp , ( _Unwind_Context * ) vrs ) ; }

while ( pr_result == _URC_CONTINUE_UNWIND ) ;


<s> action = _US_UNWIND_FRAME_RESUME | _US_FORCE_UNWIND ; resuming = <NUM_LIT> ; } else action = _US_UNWIND_FRAME_STARTING | _US_FORCE_UNWIND ; if ( entry_code == _URC_OK ) { UCB_SAVED_CALLSITE_ADDR ( ucbp ) = saved_vrs . core . r [ R_PC ] ; next_vrs = saved_vrs ; pr_result = ( ( personality_routine ) UCB_PR_ADDR ( ucbp ) ) ( action , ucbp , ( void * ) & next_vrs ) ; saved_vrs . prev_sp = next_vrs . core . r [ R_SP ] ; } else { action |= _US_END_OF_STACK ;

saved_vrs . prev_sp = saved_vrs . core . r [ R_SP ] ;


<s> tmp = * ( _Unwind_Word * ) ptr ; if ( ! tmp ) return <NUM_LIT> ; tmp += ptr ; tmp = * ( _Unwind_Word * ) tmp ; tmp += ptr ; return tmp ;


<s> void _Unwind_DeleteException ( _Unwind_Exception * exc ) {

if ( exc -> exception_cleanup ) ( * exc -> exception_cleanup ) ( _URC_FOREIGN_EXCEPTION_CAUGHT , exc ) ;


<s> _Unwind_Word _Unwind_GetCFA ( _Unwind_Context * context ) {

return ( ( phase1_vrs * ) context ) -> prev_sp ;


<s> static inline _Unwind_Word _Unwind_GetGR ( _Unwind_Context * context , int regno ) {


<s> static inline _Unwind_Word _Unwind_GetGR ( _Unwind_Context * context , int regno ) { _uw val ; _Unwind_VRS_Get ( context , _UVRSC_CORE , regno , _UVRSD_UINT32 , & val ) ;


<s> static inline void _Unwind_SetGR ( _Unwind_Context * context , int regno , _Unwind_Word val ) { _Unwind_VRS_Set ( context , _UVRSC_CORE , regno , _UVRSD_UINT32 , & val ) ;


<s> _Unwind_VRS_Result _Unwind_VRS_Get ( _Unwind_Context * context , _Unwind_VRS_RegClass regclass , _uw regno , _Unwind_VRS_DataRepresentation representation , void * valuep ) { phase1_vrs * vrs = ( phase1_vrs * ) context ; switch ( regclass ) { case _UVRSC_CORE : if ( representation != _UVRSD_UINT32 || regno > <NUM_LIT> ) return _UVRSR_FAILED ; * ( _uw * ) valuep = vrs -> core . r [ regno ] ; return _UVRSR_OK ; case _UVRSC_VFP : case _UVRSC_FPA :


<s> switch ( regclass ) { case _UVRSC_CORE : { _uw * ptr ; _uw mask ; int i ; if ( representation != _UVRSD_UINT32 ) return _UVRSR_FAILED ; mask = discriminator & <NUM_LIT> ; ptr = ( _uw * ) vrs -> core . r [ R_SP ] ; for ( i = <NUM_LIT> ; i < <NUM_LIT> ; i ++ ) { if ( mask & ( <NUM_LIT> << i ) ) vrs -> core . r [ i ] = * ( ptr ++ ) ; } if ( ( mask & ( <NUM_LIT> << R_SP ) ) == <NUM_LIT> ) vrs -> core . r [ R_SP ] = ( _uw ) ptr ; } return _UVRSR_OK ; case _UVRSC_VFP : { _uw start = discriminator >> <NUM_LIT> ; _uw count = discriminator & <NUM_LIT> ; struct vfp_regs tmp ; _uw * sp ; _uw * dest ; if ( ( representation != _UVRSD_VFPX && representation != _UVRSD_DOUBLE ) || start + count > <NUM_LIT> ) return _UVRSR_FAILED ; if ( vrs -> demand_save_flags & DEMAND_SAVE_VFP ) { vrs -> demand_save_flags &= ~ DEMAND_SAVE_VFP ; __gnu_Unwind_Save_VFP ( & vrs -> vfp ) ; } __gnu_Unwind_Save_VFP ( & tmp ) ; sp = ( _uw * ) vrs -> core . r [ R_SP ] ; dest = ( _uw * ) & tmp . d [ start ] ; count *= <NUM_LIT> ; while ( count -- ) * ( dest ++ ) = * ( sp ++ ) ; if ( representation == _UVRSD_VFPX ) sp ++ ; vrs -> core . r [ R_SP ] = ( _uw ) sp ; __gnu_Unwind_Restore_VFP ( & tmp ) ; } return _UVRSR_OK ; case _UVRSC_FPA : case _UVRSC_WMMXD : case _UVRSC_WMMXC : return _UVRSR_NOT_IMPLEMENTED ;


<s> case _UVRSC_VFP : { _uw start = discriminator >> <NUM_LIT> ; _uw count = discriminator & <NUM_LIT> ; struct vfp_regs tmp ; _uw * sp ; _uw * dest ; if ( ( representation != _UVRSD_VFPX && representation != _UVRSD_DOUBLE ) || start + count > <NUM_LIT> ) return _UVRSR_FAILED ; if ( vrs -> demand_save_flags & DEMAND_SAVE_VFP ) { vrs -> demand_save_flags &= ~ DEMAND_SAVE_VFP ; __gnu_Unwind_Save_VFP ( & vrs -> vfp ) ; } __gnu_Unwind_Save_VFP ( & tmp ) ; sp = ( _uw * ) vrs -> core . r [ R_SP ] ; dest = ( _uw * ) & tmp . d [ start ] ; count *= <NUM_LIT> ; while ( count -- ) * ( dest ++ ) = * ( sp ++ ) ; if ( representation == _UVRSD_VFPX ) sp ++ ;


<s> _Unwind_VRS_Result _Unwind_VRS_Set ( _Unwind_Context * context , _Unwind_VRS_RegClass regclass , _uw regno , _Unwind_VRS_DataRepresentation representation , void * valuep ) { phase1_vrs * vrs = ( phase1_vrs * ) context ; switch ( regclass ) { case _UVRSC_CORE : if ( representation != _UVRSD_UINT32 || regno > <NUM_LIT> ) return _UVRSR_FAILED ; vrs -> core . r [ regno ] = * ( _uw * ) valuep ; return _UVRSR_OK ; case _UVRSC_VFP :


<s> switch ( regclass ) { case _UVRSC_CORE : if ( representation != _UVRSD_UINT32 || regno > <NUM_LIT> ) return _UVRSR_FAILED ; vrs -> core . r [ regno ] = * ( _uw * ) valuep ; return _UVRSR_OK ; case _UVRSC_VFP : case _UVRSC_FPA : case _UVRSC_WMMXD : case _UVRSC_WMMXC : return _UVRSR_NOT_IMPLEMENTED ; default : return _UVRSR_FAILED ;


<s> _Unwind_Reason_Code __aeabi_unwind_cpp_pr0 ( _Unwind_State state , _Unwind_Control_Block * ucbp , _Unwind_Context * context ) {

return __gnu_unwind_pr_common ( state , ucbp , context , <NUM_LIT> ) ;


<s> _Unwind_Reason_Code __aeabi_unwind_cpp_pr0 ( _Unwind_State state , _Unwind_Control_Block * ucbp , _Unwind_Context * context ) { return __gnu_unwind_pr_common ( state , ucbp , context , <NUM_LIT> ) ;


<s> return __gnu_unwind_pr_common ( state , ucbp , context , <NUM_LIT> ) ;


<s> UCB_FORCED_STOP_ARG ( ucbp ) = ( _uw ) stop_arg ; entry_vrs -> core . r [ R_PC ] = entry_vrs -> core . r [ R_LR ] ;

return unwind_phase2_forced ( ucbp , entry_vrs , <NUM_LIT> ) ;


<s> UCB_FORCED_STOP_ARG ( ucbp ) = ( _uw ) stop_arg ; entry_vrs -> core . r [ R_PC ] = entry_vrs -> core . r [ R_LR ] ; return unwind_phase2_forced ( ucbp , entry_vrs , <NUM_LIT> ) ;


<s> phase1_vrs saved_vrs ; _Unwind_Reason_Code pr_result ; entry_vrs -> core . r [ R_PC ] = entry_vrs -> core . r [ R_LR ] ; saved_vrs . core = entry_vrs -> core ; saved_vrs . demand_save_flags = ~ ( _uw ) <NUM_LIT> ; do { if ( get_eit_entry ( ucbp , saved_vrs . core . r [ R_PC ] ) != _URC_OK ) return _URC_FAILURE ; pr_result = ( ( personality_routine ) UCB_PR_ADDR ( ucbp ) ) ( _US_VIRTUAL_UNWIND_FRAME , ucbp , ( void * ) & saved_vrs ) ; } while ( pr_result == _URC_CONTINUE_UNWIND ) ; restore_non_core_regs ( & saved_vrs ) ; if ( pr_result != _URC_HANDLER_FOUND ) {


<s> _Unwind_Reason_Code __gnu_Unwind_Resume ( _Unwind_Control_Block * ucbp , phase2_vrs * entry_vrs ) { _Unwind_Reason_Code pr_result ; entry_vrs -> core . r [ R_PC ] = UCB_SAVED_CALLSITE_ADDR ( ucbp ) ;


<s> if ( ! UCB_FORCED_STOP_FN ( ucbp ) ) return __gnu_Unwind_RaiseException ( ucbp , entry_vrs ) ; entry_vrs -> core . r [ R_PC ] = entry_vrs -> core . r [ R_LR ] ;