{"name": "disas_vfp_insn", "code": "__int64 __fastcall disas_vfp_insn ( __int64 @@a1@@ , _DWORD * @@a2@@ , unsigned int @@a3@@ ) { unsigned int v4 ; int v5 ; unsigned int v7 ; unsigned int v8 ; int v10 ; int v11 ; int v12 ; int v13 ; int v14 ; int v15 ; unsigned int v16 ; unsigned int v17 ; unsigned int v18 ; unsigned int v19 ; int v20 ; int v21 ; int v22 ; int v23 ; int v24 ; int v25 ; int v26 ; unsigned int j ; unsigned int i ; unsigned int v29 ; unsigned int v30 ; int v31 ; int v32 ; unsigned int v33 ; unsigned int v34 ; int @@v35@@ ; int @@v36@@ ; int @@v37@@ ; int @@v38@@ ; unsigned int @@v39@@ ; unsigned int v40 ; unsigned int v41 ; unsigned int v42 ; unsigned int v43 ; unsigned int v44 ; unsigned int v45 ; unsigned int v46 ; unsigned int v47 ; unsigned int v48 ; int @@v49@@ ; int @@v50@@ ; unsigned int @@v51@@ ; unsigned int v52 ; unsigned int v53 ; unsigned int v54 ; unsigned int v55 ; int @@v56@@ ; if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; if ( ! @@a2@@ [ Number ] ) { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v14 = HIWORD ( @@a3@@ ) & Number ; if ( v14 ) { if ( v14 != Number && v14 != Number && v14 != Number ) return Number L ; } } @@v50@@ = ( @@a3@@ & Number ) == Number ; v4 = HIBYTE ( @@a3@@ ) & Number ; if ( v4 > Number ) { if ( v4 != Number ) return Number L ; if ( ( @@a3@@ & Number ) == Number ) { @@v51@@ = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; if ( ( @@a3@@ & Number ) == Number ) { if ( @@v51@@ == Number ) { v19 = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; } else if ( arm_feature ( @@a1@@ , Number ) ) { v19 = HIWORD ( @@a3@@ ) & Number | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v19 = HIWORD ( @@a3@@ ) & Number ; } if ( @@v51@@ == Number && ( v19 == Number || ( v19 & Number ) == Number ) ) { v11 = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; } else if ( arm_feature ( @@a1@@ , Number ) ) { v11 = ( ( unsigned __int16 ) @@a3@@ >> Number ) | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v11 = ( unsigned __int16 ) @@a3@@ >> Number ; } if ( @@v51@@ == Number && ( ( v19 & Number ) == Number || ( v19 & Number ) == Number ) ) { v22 = ( Number * ( _BYTE ) @@a3@@ ) & Number | ( @@a3@@ >> Number ) & Number ; } else if ( arm_feature ( @@a1@@ , Number ) ) { v22 = @@a3@@ & Number | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v22 = @@a3@@ & Number ; } } else { v19 = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; if ( @@v51@@ == Number && v19 == Number ) { if ( arm_feature ( @@a1@@ , Number ) ) { v11 = ( ( unsigned __int16 ) @@a3@@ >> Number ) | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v11 = ( unsigned __int16 ) @@a3@@ >> Number ; } } else { v11 = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; } v22 = ( Number * ( _BYTE ) @@a3@@ ) & Number | ( @@a3@@ >> Number ) & Number ; } @@v38@@ = @@a2@@ [ Number ] ; if ( @@v51@@ == Number && v19 > Number ) @@v38@@ = Number ; @@v36@@ = Number ; @@v35@@ = Number ; @@v37@@ = Number ; if ( @@v38@@ > Number ) { if ( ( @@a3@@ & Number ) == Number ) @@v37@@ = Number ; else @@v37@@ = Number ; if ( ( @@v37@@ & v11 ) != Number ) { if ( ( @@a3@@ & Number ) == Number ) v5 = ( int ) @@a2@@ [ Number ] >> Number ; else v5 = @@a2@@ [ Number ] ; @@v35@@ = v5 + Number ; if ( ( @@v37@@ & v22 ) != Number ) @@v36@@ = v5 + Number ; else @@v36@@ = Number ; } else { @@v38@@ = Number ; } } if ( @@v51@@ == Number ) { switch ( v19 ) { case Number : case Number : gen_mov_F0_vreg ( @@v50@@ , v11 ) ; gen_mov_F1_vreg ( @@v50@@ , v22 ) ; break ; case Number : case Number : gen_mov_F0_vreg ( @@v50@@ , v11 ) ; gen_vfp_F1_ld0 ( @@v50@@ ) ; break ; case Number : case Number : gen_mov_F0_vreg ( Number , v22 ) ; break ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : gen_mov_F0_vreg ( @@v50@@ , v11 ) ; break ; default : gen_mov_F0_vreg ( @@v50@@ , v22 ) ; break ; } } else { gen_mov_F0_vreg ( @@v50@@ , v19 ) ; gen_mov_F1_vreg ( @@v50@@ , v22 ) ; } while ( Number ) { switch ( @@v51@@ ) { case Number : gen_vfp_mul ( @@v50@@ ) ; gen_mov_F1_vreg ( @@v50@@ , v11 ) ; gen_vfp_add ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_mul ( @@v50@@ ) ; gen_vfp_neg ( @@v50@@ ) ; gen_mov_F1_vreg ( @@v50@@ , v11 ) ; gen_vfp_add ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_mul ( @@v50@@ ) ; gen_mov_F1_vreg ( @@v50@@ , v11 ) ; gen_vfp_sub ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_mul ( @@v50@@ ) ; gen_vfp_neg ( @@v50@@ ) ; gen_mov_F1_vreg ( @@v50@@ , v11 ) ; gen_vfp_sub ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_mul ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_mul ( @@v50@@ ) ; gen_vfp_neg ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_add ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_sub ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_div ( @@v50@@ ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; v29 = ( @@a3@@ << Number ) & Number ; v24 = ( @@a3@@ >> Number ) & Number | @@a3@@ & Number ; if ( ( @@a3@@ & Number ) == Number ) { if ( ( v24 & Number ) != Number ) v25 = v24 | Number ; else v25 = v24 | Number ; tcg_gen_movi_i64 ( cpu_F0d , ( unsigned __int64 ) ( ( v25 << Number ) | v29 ) << Number ) ; } else { if ( ( v24 & Number ) != Number ) v26 = v24 | Number ; else v26 = v24 | Number ; tcg_gen_movi_i32 ( cpu_F0s , ( v26 << Number ) | v29 ) ; } goto LABEL_233 ; case Number : switch ( v19 ) { case Number : goto LABEL_233 ; case Number : gen_vfp_abs ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_neg ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_sqrt ( @@v50@@ ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; v43 = gen_vfp_mrs ( ) ; tcg_gen_ext16u_i32 ( v43 , v43 ) ; gen_helper_vfp_fcvt_f16_to_f32 ( cpu_F0s , v43 , cpu_env ) ; dead_tmp ( v43 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; v44 = gen_vfp_mrs ( ) ; tcg_gen_shri_i32 ( v44 , v44 , Number ) ; gen_helper_vfp_fcvt_f16_to_f32 ( cpu_F0s , v44 , cpu_env ) ; dead_tmp ( v44 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; v45 = new_tmp ( ) ; gen_helper_vfp_fcvt_f32_to_f16 ( v45 , cpu_F0s , cpu_env ) ; gen_mov_F0_vreg ( Number , v11 ) ; v54 = gen_vfp_mrs ( ) ; tcg_gen_andi_i32 ( v54 , v54 , Number ) ; tcg_gen_or_i32 ( v45 , v45 , v54 ) ; dead_tmp ( v54 ) ; gen_vfp_msr ( v45 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; v46 = new_tmp ( ) ; gen_helper_vfp_fcvt_f32_to_f16 ( v46 , cpu_F0s , cpu_env ) ; tcg_gen_shli_i32 ( v46 , v46 , Number ) ; gen_mov_F0_vreg ( Number , v11 ) ; v55 = gen_vfp_mrs ( ) ; tcg_gen_ext16u_i32 ( v55 , v55 ) ; tcg_gen_or_i32 ( v46 , v46 , v55 ) ; dead_tmp ( v55 ) ; gen_vfp_msr ( v46 ) ; goto LABEL_233 ; case Number : case Number : gen_vfp_cmp ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_cmpe ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_F1_ld0 ( @@v50@@ ) ; gen_vfp_cmpe ( @@v50@@ ) ; goto LABEL_233 ; case Number : if ( ( @@a3@@ & Number ) == Number ) gen_helper_vfp_fcvtsd ( cpu_F0s , cpu_F0d , cpu_env ) ; else gen_helper_vfp_fcvtds ( cpu_F0d , cpu_F0s , cpu_env ) ; goto LABEL_233 ; case Number : gen_vfp_uito ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_sito ( @@v50@@ ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_shto ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_slto ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_uhto ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_ulto ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : gen_vfp_toui ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_touiz ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_tosi ( @@v50@@ ) ; goto LABEL_233 ; case Number : gen_vfp_tosiz ( @@v50@@ ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_tosh ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_tosl ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_touh ( @@v50@@ , Number - v22 ) ; goto LABEL_233 ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; gen_vfp_toul ( @@v50@@ , Number - v22 ) ; LABEL_233 : if ( @@v51@@ != Number || v19 <= Number || v19 > Number ) { if ( @@v51@@ == Number && ( @@a3@@ & Number ) == Number && ( v19 & Number ) == Number ) { gen_mov_vreg_F0 ( Number , v11 ) ; } else if ( @@v51@@ == Number && v19 == Number ) { gen_mov_vreg_F0 ( ( @@a3@@ & Number ) != Number , v11 ) ; } else { gen_mov_vreg_F0 ( @@v50@@ , v11 ) ; } } if ( ! @@v38@@ ) return Number L ; if ( @@v51@@ == Number && ! @@v36@@ ) { while ( @@v38@@ -- ) { v11 = ( @@v37@@ - Number ) & ( @@v35@@ + v11 ) | @@v37@@ & v11 ; gen_mov_vreg_F0 ( @@v50@@ , v11 ) ; } return Number L ; } -- @@v38@@ ; v11 = ( @@v37@@ - Number ) & ( @@v35@@ + v11 ) | @@v37@@ & v11 ; if ( @@v51@@ == Number ) { v22 = ( @@v37@@ - Number ) & ( @@v36@@ + v22 ) | @@v37@@ & v22 ; gen_mov_F0_vreg ( @@v50@@ , v22 ) ; } else { v19 = ( @@v37@@ - Number ) & ( @@v35@@ + v19 ) | @@v37@@ & v19 ; gen_mov_F0_vreg ( @@v50@@ , v19 ) ; if ( @@v36@@ ) { v22 = ( @@v37@@ - Number ) & ( @@v36@@ + v22 ) | @@v37@@ & v22 ; gen_mov_F1_vreg ( @@v50@@ , v22 ) ; } } break ; default : printf ( String , v19 ) ; return Number L ; } break ; default : printf ( String , @@v51@@ ) ; return Number L ; } } } v10 = ( unsigned __int16 ) @@a3@@ >> Number ; if ( ( @@a3@@ & Number ) == Number ) { if ( arm_feature ( @@a1@@ , Number ) ) { v15 = HIWORD ( @@a3@@ ) & Number | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v15 = HIWORD ( @@a3@@ ) & Number ; } if ( ( @@a3@@ & Number ) != Number ) return Number L ; if ( ( @@a3@@ & Number ) != Number && ! arm_feature ( @@a1@@ , Number ) ) return Number L ; @@v56@@ = ( @@a3@@ >> Number ) & Number ; if ( ( @@a3@@ & Number ) != Number ) { @@v49@@ = Number ; v31 = Number * ( ( @@a3@@ >> Number ) & Number ) ; } else if ( ( @@a3@@ & Number ) != Number ) { @@v49@@ = Number ; v31 = ( @@a3@@ >> Number ) & Number ; } else { @@v49@@ = Number ; v31 = Number ; } if ( ( @@a3@@ & Number ) == Number ) { v41 = load_reg ( @@a2@@ , v10 ) ; if ( ( @@a3@@ & Number ) != Number ) { if ( @@v49@@ ) { if ( @@v49@@ == Number ) gen_neon_dup_low16 ( v41 ) ; } else { gen_neon_dup_u8 ( v41 , Number ) ; } for ( i = Number ; i <= Number * @@v56@@ ; ++ i ) { v52 = new_tmp ( ) ; tcg_gen_mov_i32 ( v52 , v41 ) ; neon_store_reg ( v15 , i , v52 ) ; } neon_store_reg ( v15 , i , v41 ) ; } else { if ( @@v49@@ != Number ) { v53 = neon_load_reg ( v15 , @@v56@@ ) ; if ( @@v49@@ ) gen_bfi ( v41 , v53 , v41 , v31 , Number ) ; else gen_bfi ( v41 , v53 , v41 , v31 , Number ) ; dead_tmp ( v53 ) ; } neon_store_reg ( v15 , @@v56@@ , v41 ) ; } return Number L ; } v40 = neon_load_reg ( v15 , @@v56@@ ) ; if ( @@v49@@ != Number ) { if ( @@v49@@ ) { if ( ( @@a3@@ & Number ) != Number ) { if ( v31 ) tcg_gen_shri_i32 ( v40 , v40 , Number ) ; else tcg_gen_ext16u_i32 ( v40 , v40 ) ; } else if ( v31 ) { tcg_gen_sari_i32 ( v40 , v40 , Number ) ; } else { tcg_gen_ext16s_i32 ( v40 , v40 ) ; } } else { if ( v31 ) tcg_gen_shri_i32 ( v40 , v40 , v31 ) ; if ( ( @@a3@@ & Number ) != Number ) tcg_gen_ext8u_i32 ( v40 , v40 ) ; else tcg_gen_ext8s_i32 ( v40 , v40 ) ; } } } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v16 = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; if ( ( @@a3@@ & Number ) == Number ) { v42 = load_reg ( @@a2@@ , v10 ) ; if ( ( @@a3@@ & Number ) != Number ) { v18 = v16 >> Number ; switch ( v18 ) { case Number : case Number : case Number : return Number L ; case Number : gen_helper_vfp_set_fpscr ( cpu_env , v42 ) ; dead_tmp ( v42 ) ; gen_lookup_tb ( @@a2@@ ) ; return Number L ; case Number : if ( @@a2@@ [ Number ] ) return Number L ; tcg_gen_andi_i32 ( v42 , v42 , Number ) ; store_cpu_offset ( v42 , Number * ( v18 + Number ) ) ; gen_lookup_tb ( @@a2@@ ) ; break ; case Number : case Number : store_cpu_offset ( v42 , Number * ( v18 + Number ) ) ; return Number L ; default : return Number L ; } } else { gen_vfp_msr ( v42 ) ; gen_mov_vreg_F0 ( Number , v16 ) ; } return Number L ; } if ( ( @@a3@@ & Number ) != Number ) { v17 = v16 >> Number ; switch ( v17 ) { case Number : if ( ! @@a2@@ [ Number ] || ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_85 ; return Number L ; case Number : if ( v10 == Number ) { v40 = load_cpu_offset ( Number ) ; tcg_gen_andi_i32 ( v40 , v40 , Number ) ; } else { v40 = new_tmp ( ) ; gen_helper_vfp_get_fpscr ( v40 , cpu_env ) ; } break ; case Number : case Number : if ( ! @@a2@@ [ Number ] && arm_feature ( @@a1@@ , Number ) ) goto LABEL_85 ; return Number L ; case Number : if ( ! @@a2@@ [ Number ] ) goto LABEL_85 ; return Number L ; case Number : case Number : if ( @@a2@@ [ Number ] || arm_feature ( @@a1@@ , Number ) ) return Number L ; LABEL_85 : v40 = load_cpu_offset ( Number * ( v17 + Number ) ) ; break ; default : return Number L ; } } else { gen_mov_F0_vreg ( Number , v16 ) ; v40 = gen_vfp_mrs ( ) ; } if ( v10 == Number ) { gen_set_cpsr ( v40 , Number ) ; dead_tmp ( v40 ) ; return Number L ; } } store_reg ( ( __int64 ) @@a2@@ , v10 , v40 ) ; return Number L ; } if ( v4 < Number ) return Number L ; if ( ( @@a3@@ & Number ) == Number && ( @@a3@@ & Number ) == Number ) { v20 = HIWORD ( @@a3@@ ) & Number ; v12 = ( unsigned __int16 ) @@a3@@ >> Number ; if ( arm_feature ( @@a1@@ , Number ) ) { v23 = @@a3@@ & Number | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v23 = @@a3@@ & Number ; } if ( ( @@a3@@ & Number ) != Number ) { gen_mov_F0_vreg ( Number , Number * v23 ) ; v7 = gen_vfp_mrs ( ) ; store_reg ( ( __int64 ) @@a2@@ , v12 , v7 ) ; gen_mov_F0_vreg ( Number , Number * v23 + Number ) ; v47 = gen_vfp_mrs ( ) ; store_reg ( ( __int64 ) @@a2@@ , v20 , v47 ) ; } else { v8 = load_reg ( @@a2@@ , v12 ) ; gen_vfp_msr ( v8 ) ; gen_mov_vreg_F0 ( Number , Number * v23 ) ; v48 = load_reg ( @@a2@@ , v20 ) ; gen_vfp_msr ( v48 ) ; gen_mov_vreg_F0 ( Number , Number * v23 + Number ) ; } return Number L ; } v21 = HIWORD ( @@a3@@ ) & Number ; if ( ( @@a3@@ & Number ) == Number ) { if ( arm_feature ( @@a1@@ , Number ) ) { v13 = ( ( unsigned __int16 ) @@a3@@ >> Number ) | ( @@a3@@ >> Number ) & Number ; } else { if ( ( @@a3@@ & Number ) != Number ) return Number L ; v13 = ( unsigned __int16 ) @@a3@@ >> Number ; } } else { v13 = ( @@a3@@ >> Number ) & Number | ( @@a3@@ >> Number ) & Number ; } if ( @@a2@@ [ Number ] && v21 == Number ) { @@v39@@ = new_tmp ( ) ; tcg_gen_movi_i32 ( @@v39@@ , * @@a2@@ & Number ) ; } else { @@v39@@ = load_reg ( @@a2@@ , v21 ) ; } if ( ( @@a3@@ & Number ) == Number ) { v32 = ( Number * ( _WORD ) @@a3@@ ) & Number ; if ( ( @@a3@@ & Number ) == Number ) v32 = - v32 ; tcg_gen_addi_i32 ( @@v39@@ , @@v39@@ , v32 ) ; if ( ( @@a3@@ & Number ) != Number ) { gen_vfp_ld ( ( __int64 ) @@a2@@ , @@v50@@ , @@v39@@ ) ; gen_mov_vreg_F0 ( @@v50@@ , v13 ) ; } else { gen_mov_F0_vreg ( @@v50@@ , v13 ) ; gen_vfp_st ( ( __int64 ) @@a2@@ , @@v50@@ , @@v39@@ ) ; } LABEL_283 : dead_tmp ( @@v39@@ ) ; return Number L ; } if ( ( @@a3@@ & Number ) == Number ) v30 = ( unsigned __int8 ) @@a3@@ >> Number ; else v30 = ( unsigned __int8 ) @@a3@@ ; if ( ( @@a3@@ & Number ) != Number ) tcg_gen_addi_i32 ( @@v39@@ , @@v39@@ , - ( ( Number * ( _WORD ) @@a3@@ ) & Number ) ) ; if ( ( @@a3@@ & Number ) == Number ) v33 = Number ; else v33 = Number ; for ( j = Number ; j < v30 ; ++ j ) { if ( ( @@a3@@ & Number ) != Number ) { gen_vfp_ld ( ( __int64 ) @@a2@@ , @@v50@@ , @@v39@@ ) ; gen_mov_vreg_F0 ( @@v50@@ , v13 + j ) ; } else { gen_mov_F0_vreg ( @@v50@@ , v13 + j ) ; gen_vfp_st ( ( __int64 ) @@a2@@ , @@v50@@ , @@v39@@ ) ; } tcg_gen_addi_i32 ( @@v39@@ , @@v39@@ , v33 ) ; } if ( ( @@a3@@ & Number ) == Number ) goto LABEL_283 ; if ( ( @@a3@@ & Number ) != Number ) { v34 = - v33 * v30 ; } else if ( ( @@a3@@ & Number ) == Number && ( @@a3@@ & Number ) != Number ) { v34 = Number ; } else { v34 = Number ; } if ( v34 ) tcg_gen_addi_i32 ( @@v39@@ , @@v39@@ , v34 ) ; store_reg ( ( __int64 ) @@a2@@ , v21 , @@v39@@ ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "v56", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v51", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v50", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v49", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v39", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v38", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v37", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v36", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v35", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}]}