{"name": "gen_add_datah_offset", "code": "unsigned __int64 __fastcall gen_add_datah_offset ( _DWORD * @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ , int @@a4@@ ) { int v6 ; unsigned int v7 ; unsigned int @@v8@@ ; unsigned __int64 @@v9@@ ; @@v9@@ = __readfsqword ( Number ) ; if ( ( @@a2@@ & Number ) != Number ) { v6 = @@a2@@ & Number | ( @@a2@@ >> Number ) & Number ; if ( ( @@a2@@ & Number ) == Number ) v6 = - v6 ; v7 = @@a3@@ + v6 ; if ( v7 ) tcg_gen_addi_i32 ( @@a4@@ , @@a4@@ , v7 ) ; } else { if ( @@a3@@ ) tcg_gen_addi_i32 ( @@a4@@ , @@a4@@ , @@a3@@ ) ; @@v8@@ = load_reg ( @@a1@@ , @@a2@@ & Number ) ; if ( ( @@a2@@ & Number ) != Number ) tcg_gen_add_i32 ( @@a4@@ , @@a4@@ , @@v8@@ ) ; else tcg_gen_sub_i32 ( @@a4@@ , @@a4@@ , @@v8@@ ) ; tcg_temp_free_i32 ( @@v8@@ ) ; } return __readfsqword ( Number ) ^ @@v9@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v9", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "tcg_gen_add_i32", "code": "unsigned __int64 __fastcall tcg_gen_add_i32 ( int @@a1@@ , int @@a2@@ , int @@a3@@ ) { unsigned __int64 @@v4@@ ; @@v4@@ = __readfsqword ( Number ) ; tcg_gen_op3_i32 ( Number , @@a1@@ , @@a2@@ , @@a3@@ ) ; return __readfsqword ( Number ) ^ @@v4@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_gen_addi_i32", "code": "unsigned __int64 __fastcall tcg_gen_addi_i32 ( int @@a1@@ , int @@a2@@ , unsigned int @@a3@@ ) { unsigned int @@v4@@ ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; if ( @@a3@@ ) { @@v4@@ = tcg_const_i32 ( @@a3@@ ) ; tcg_gen_add_i32 ( @@a1@@ , @@a2@@ , @@v4@@ ) ; tcg_temp_free_i32 ( @@v4@@ ) ; } else { tcg_gen_mov_i32 ( @@a1@@ , @@a2@@ ) ; } return __readfsqword ( Number ) ^ @@v5@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_gen_sub_i32", "code": "unsigned __int64 __fastcall tcg_gen_sub_i32 ( int @@a1@@ , int @@a2@@ , int @@a3@@ ) { unsigned __int64 @@v4@@ ; @@v4@@ = __readfsqword ( Number ) ; tcg_gen_op3_i32 ( Number , @@a1@@ , @@a2@@ , @@a3@@ ) ; return __readfsqword ( Number ) ^ @@v4@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "load_reg", "code": "__int64 __fastcall load_reg ( _DWORD * @@a1@@ , int @@a2@@ ) { unsigned int @@v3@@ ; @@v3@@ = tcg_temp_new_i32 ( ) ; load_reg_var ( @@a1@@ , @@v3@@ , @@a2@@ ) ; return @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}]} {"name": "disas_arm_insn", "code": "unsigned __int64 __fastcall disas_arm_insn ( __int64 @@a1@@ , int * @@a2@@ ) { int v2 ; unsigned int v4 ; unsigned int v5 ; unsigned int v6 ; unsigned int v7 ; int v8 ; int @@v10@@ ; unsigned int v11 ; unsigned int v12 ; unsigned int v13 ; unsigned int v14 ; unsigned int v15 ; unsigned int v16 ; unsigned int @@v17@@ ; unsigned int v18 ; unsigned int v19 ; unsigned int v20 ; unsigned int v21 ; unsigned int v22 ; unsigned int v23 ; unsigned int v24 ; unsigned int v25 ; unsigned int v26 ; unsigned int v27 ; unsigned int v28 ; unsigned int v29 ; unsigned int v30 ; unsigned int v31 ; unsigned int v32 ; unsigned int v33 ; unsigned int v34 ; unsigned int v35 ; unsigned int v36 ; unsigned int v37 ; unsigned 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 ; unsigned int v49 ; unsigned int v50 ; unsigned int v51 ; unsigned int v52 ; unsigned int v53 ; unsigned int v54 ; unsigned int v55 ; unsigned int v56 ; unsigned int v57 ; unsigned int v58 ; unsigned int v59 ; unsigned int v60 ; unsigned int v61 ; unsigned int v62 ; unsigned int v63 ; unsigned int v64 ; unsigned int v65 ; unsigned int v66 ; unsigned int v67 ; unsigned int v68 ; unsigned int v69 ; int v70 ; int v71 ; int v72 ; int v73 ; int v74 ; int v75 ; int v76 ; int v77 ; int v78 ; int v79 ; int v80 ; unsigned int v81 ; unsigned int i ; unsigned int j ; int v84 ; int v85 ; int v86 ; int v87 ; int v88 ; int v89 ; int @@v90@@ ; int @@v91@@ ; int @@v92@@ ; unsigned int @@v93@@ ; unsigned int @@v94@@ ; unsigned int @@v95@@ ; int v96 ; unsigned int v97 ; int v98 ; unsigned int v99 ; int v100 ; int v101 ; int v102 ; char v103 ; int v104 ; int v105 ; int v106 ; int v107 ; int v108 ; int v109 ; int v110 ; int v111 ; int v112 ; int v113 ; int v114 ; int v115 ; int v116 ; int v117 ; int v118 ; int v119 ; unsigned int v120 ; unsigned int v121 ; unsigned int v122 ; unsigned int v123 ; unsigned int @@v124@@ ; int @@v125@@ ; int @@v126@@ ; int @@v127@@ ; unsigned __int64 @@v128@@ ; @@v128@@ = __readfsqword ( Number ) ; @@v94@@ = ldl_be_p ( ( unsigned int * ) ( ( unsigned int ) * @@a2@@ + guest_base ) ) ; * @@a2@@ += Number ; if ( arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; @@v95@@ = @@v94@@ >> Number ; if ( @@v94@@ >> Number != Number ) { if ( @@v95@@ != Number ) { @@a2@@ [ Number ] = gen_new_label ( ) ; gen_test_cc ( @@v95@@ ^ Number , @@a2@@ [ Number ] ) ; @@a2@@ [ Number ] = Number ; } if ( ( @@v94@@ & Number ) == Number ) { if ( ( @@v94@@ & Number ) != Number ) { if ( ( unsigned __int16 ) @@v94@@ >> Number == Number ) { if ( ( @@v94@@ & Number ) != Number ) { v86 = ( unsigned __int8 ) @@v94@@ ; v74 = Number * ( ( @@v94@@ >> Number ) & Number ) ; if ( v74 ) v86 = __ROR4__ ( ( unsigned __int8 ) @@v94@@ , v74 ) ; v4 = msr_mask ( @@a1@@ , ( __int64 ) @@a2@@ , BYTE2 ( @@v94@@ ) & Number , ( @@v94@@ & Number ) != Number ) ; if ( ( unsigned int ) gen_set_psr_im ( @@a2@@ , v4 , ( @@v94@@ & Number ) != Number , v86 ) ) goto LABEL_426 ; } else { gen_nop_hint ( @@a2@@ , ( unsigned __int8 ) @@v94@@ ) ; } return __readfsqword ( Number ) ^ @@v128@@ ; } goto LABEL_426 ; } if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v70 = ( unsigned __int16 ) @@v94@@ >> Number ; v85 = ( @@v94@@ >> Number ) & Number | @@v94@@ & Number ; if ( ( @@v94@@ & Number ) != Number ) { v44 = load_reg ( @@a2@@ , v70 ) ; tcg_gen_ext16u_i32 ( v44 , v44 ) ; tcg_gen_ori_i32 ( v44 , v44 , v85 << Number ) ; } else { v44 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v44 , v85 ) ; } LABEL_360 : store_reg ( ( __int64 ) @@a2@@ , v70 , v44 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number && ( @@v94@@ & Number ) != Number ) { v96 = ( @@v94@@ >> Number ) & Number ; v103 = ( unsigned __int8 ) @@v94@@ >> Number ; v106 = @@v94@@ & Number ; switch ( ( unsigned __int8 ) @@v94@@ >> Number ) { case Number : if ( ( @@v94@@ & Number ) != Number ) { v45 = load_reg ( @@a2@@ , v106 ) ; v5 = msr_mask ( @@a1@@ , ( __int64 ) @@a2@@ , BYTE2 ( @@v94@@ ) & Number , ( ( @@v94@@ >> Number ) & Number ) != Number ) ; if ( ! ( unsigned int ) gen_set_psr ( @@a2@@ , v5 , ( ( @@v94@@ >> Number ) & Number ) != Number , v45 ) ) return __readfsqword ( Number ) ^ @@v128@@ ; goto LABEL_426 ; } if ( ( ( @@v94@@ >> Number ) & Number ) != Number ) goto LABEL_426 ; v46 = tcg_temp_new_i32 ( ) ; gen_helper_cpsr_read ( v46 ) ; store_reg ( ( __int64 ) @@a2@@ , ( unsigned __int16 ) @@v94@@ >> Number , v46 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : if ( v96 == Number ) { if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v47 = load_reg ( @@a2@@ , v106 ) ; gen_bx ( ( __int64 ) @@a2@@ , v47 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( v96 == Number && arm_feature ( @@a1@@ , Number ) ) { v48 = load_reg ( @@a2@@ , v106 ) ; gen_helper_clz ( v48 , v48 ) ; store_reg ( ( __int64 ) @@a2@@ , ( unsigned __int16 ) @@v94@@ >> Number , v48 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } goto LABEL_426 ; case Number : if ( v96 != Number || ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v49 = load_reg ( @@a2@@ , v106 ) ; v18 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v18 , * @@a2@@ ) ; store_reg ( ( __int64 ) @@a2@@ , Number , v18 ) ; gen_bx ( ( __int64 ) @@a2@@ , v49 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v70 = ( unsigned __int16 ) @@v94@@ >> Number ; v50 = load_reg ( @@a2@@ , v106 ) ; v19 = load_reg ( @@a2@@ , HIWORD ( @@v94@@ ) & Number ) ; if ( ( ( @@v94@@ >> Number ) & Number ) != Number ) gen_helper_double_saturate ( v19 , v19 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_helper_sub_saturate ( v50 , v50 , v19 ) ; else gen_helper_add_saturate ( v50 , v50 , v19 ) ; goto LABEL_288 ; case Number : if ( v96 != Number || ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; gen_exception_insn ( @@a2@@ , Number , Number ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : case Number : case Number : case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v110 = ( @@v94@@ >> Number ) & Number ; v113 = ( unsigned __int16 ) @@v94@@ >> Number ; v70 = HIWORD ( @@v94@@ ) & Number ; if ( v96 == Number ) { v51 = load_reg ( @@a2@@ , v106 ) ; v20 = load_reg ( @@a2@@ , v110 ) ; if ( ( v103 & Number ) != Number ) tcg_gen_sari_i32 ( v20 , v20 , Number ) ; else tcg_gen_ext16s_i32 ( v20 , v20 ) ; v11 = gen_muls_i64_i32 ( v51 , v20 ) ; tcg_gen_shri_i64 ( v11 , v11 , Number L ) ; v44 = tcg_temp_new_i32 ( ) ; tcg_gen_trunc_i64_i32 ( v44 , v11 ) ; tcg_temp_free_i64 ( v11 ) ; if ( ( v103 & Number ) == Number ) { v21 = load_reg ( @@a2@@ , v113 ) ; gen_helper_add_setq ( v44 , v44 , v21 ) ; tcg_temp_free_i32 ( v21 ) ; } } else { v44 = load_reg ( @@a2@@ , v106 ) ; v22 = load_reg ( @@a2@@ , v110 ) ; gen_mulxy ( v44 , v22 , v103 & Number , v103 & Number ) ; tcg_temp_free_i32 ( v22 ) ; if ( v96 == Number ) { v12 = tcg_temp_new_i64 ( ) ; tcg_gen_ext_i32_i64 ( v12 , v44 ) ; tcg_temp_free_i32 ( v44 ) ; gen_addq ( @@a2@@ , v12 , v113 , v70 ) ; gen_storeq_reg ( ( __int64 ) @@a2@@ , v113 , v70 , v12 ) ; tcg_temp_free_i64 ( v12 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ! v96 ) { v23 = load_reg ( @@a2@@ , v113 ) ; gen_helper_add_setq ( v44 , v44 , v23 ) ; tcg_temp_free_i32 ( v23 ) ; } } break ; default : goto LABEL_426 ; } goto LABEL_360 ; } if ( ( @@v94@@ & Number ) == Number && ( @@v94@@ & Number ) != Number || ( @@v94@@ & Number ) == Number ) { v97 = ( @@v94@@ >> Number ) & Number ; @@v125@@ = ( @@v94@@ >> Number ) & Number ; @@v126@@ = ( ( @@v94@@ & Number ) != Number ) & table_logic_cc [ v97 ] ; if ( ( @@v94@@ & Number ) != Number ) { v87 = ( unsigned __int8 ) @@v94@@ ; v75 = Number * ( ( @@v94@@ >> Number ) & Number ) ; if ( v75 ) v87 = __ROR4__ ( ( unsigned __int8 ) @@v94@@ , v75 ) ; v24 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v24 , v87 ) ; if ( @@v126@@ && v75 ) gen_set_CF_bit31 ( v24 ) ; } else { v24 = load_reg ( @@a2@@ , @@v94@@ & Number ) ; @@v127@@ = ( @@v94@@ >> Number ) & Number ; if ( ( @@v94@@ & Number ) != Number ) { v52 = load_reg ( @@a2@@ , ( @@v94@@ >> Number ) & Number ) ; gen_arm_shift_reg ( v24 , @@v127@@ , v52 , @@v126@@ ) ; } else { gen_arm_shift_im ( v24 , @@v127@@ , ( @@v94@@ >> Number ) & Number , @@v126@@ ) ; } } if ( v97 == Number || v97 == Number ) v53 = Number ; else v53 = load_reg ( @@a2@@ , HIWORD ( @@v94@@ ) & Number ) ; v71 = ( unsigned __int16 ) @@v94@@ >> Number ; switch ( v97 ) { case Number : tcg_gen_and_i32 ( v53 , v53 , v24 ) ; if ( @@v126@@ ) gen_logic_CC ( v53 ) ; goto LABEL_173 ; case Number : tcg_gen_xor_i32 ( v53 , v53 , v24 ) ; if ( @@v126@@ ) gen_logic_CC ( v53 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ && v71 == Number ) goto LABEL_426 ; if ( @@v125@@ ) gen_helper_sub_cc ( v53 , v53 , v24 ) ; else tcg_gen_sub_i32 ( v53 , v53 , v24 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ ) gen_helper_sub_cc ( v53 , v24 , v53 ) ; else tcg_gen_sub_i32 ( v53 , v24 , v53 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ ) gen_helper_add_cc ( v53 , v53 , v24 ) ; else tcg_gen_add_i32 ( v53 , v53 , v24 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ ) gen_helper_adc_cc ( v53 , v53 , v24 ) ; else gen_add_carry ( v53 , v53 , v24 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ ) gen_helper_sbc_cc ( v53 , v53 , v24 ) ; else gen_sub_carry ( v53 , v53 , v24 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ ) gen_helper_sbc_cc ( v53 , v24 , v53 ) ; else gen_sub_carry ( v53 , v24 , v53 ) ; goto LABEL_173 ; case Number : if ( @@v125@@ ) { tcg_gen_and_i32 ( v53 , v53 , v24 ) ; gen_logic_CC ( v53 ) ; } goto LABEL_162 ; case Number : if ( @@v125@@ ) { tcg_gen_xor_i32 ( v53 , v53 , v24 ) ; gen_logic_CC ( v53 ) ; } goto LABEL_162 ; case Number : if ( @@v125@@ ) gen_helper_sub_cc ( v53 , v53 , v24 ) ; goto LABEL_162 ; case Number : if ( @@v125@@ ) gen_helper_add_cc ( v53 , v53 , v24 ) ; LABEL_162 : tcg_temp_free_i32 ( v53 ) ; break ; case Number : tcg_gen_or_i32 ( v53 , v53 , v24 ) ; if ( @@v126@@ ) gen_logic_CC ( v53 ) ; goto LABEL_173 ; case Number : if ( @@v126@@ && v71 == Number ) goto LABEL_426 ; if ( @@v126@@ ) gen_logic_CC ( v24 ) ; goto LABEL_176 ; case Number : tcg_gen_andc_i32 ( v53 , v53 , v24 ) ; if ( @@v126@@ ) gen_logic_CC ( v53 ) ; LABEL_173 : store_reg_bx ( @@a1@@ , ( __int64 ) @@a2@@ , v71 , v53 ) ; break ; default : tcg_gen_not_i32 ( v24 , v24 ) ; if ( @@v126@@ ) gen_logic_CC ( v24 ) ; LABEL_176 : store_reg_bx ( @@a1@@ , ( __int64 ) @@a2@@ , v71 , v24 ) ; break ; } if ( v97 != Number && v97 != Number ) tcg_temp_free_i32 ( v24 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } v98 = HIBYTE ( @@v94@@ ) & Number ; switch ( v98 ) { case Number : case Number : v104 = ( @@v94@@ >> Number ) & Number ; if ( ! v104 ) { if ( v98 ) { v115 = HIWORD ( @@v94@@ ) & Number ; v72 = ( unsigned __int16 ) @@v94@@ >> Number ; if ( ( @@v94@@ & Number ) != Number ) { v100 = ( @@v94@@ >> Number ) & Number ; if ( v100 ) { if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; } else if ( ! arm_feature ( @@a1@@ , Number ) ) { goto LABEL_426 ; } v120 = tcg_temp_local_new_i32 ( ) ; load_reg_var ( @@a2@@ , v120 , v115 ) ; if ( ( @@v94@@ & Number ) != Number ) { if ( v100 == Number ) { gen_load_exclusive ( ( __int64 ) @@a2@@ , v72 , Number , v120 , Number ) ; } else if ( v100 == Number ) { gen_load_exclusive ( ( __int64 ) @@a2@@ , v72 , Number , v120 , Number ) ; } else if ( v100 ) { gen_load_exclusive ( ( __int64 ) @@a2@@ , v72 , v72 + Number , v120 , Number ) ; } else { gen_load_exclusive ( ( __int64 ) @@a2@@ , v72 , Number , v120 , Number ) ; } } else { v108 = @@v94@@ & Number ; if ( v100 == Number ) { gen_store_exclusive ( @@a2@@ , v72 , v108 , Number , v120 , Number ) ; } else if ( v100 == Number ) { gen_store_exclusive ( @@a2@@ , v72 , v108 , Number , v120 , Number ) ; } else if ( v100 ) { gen_store_exclusive ( @@a2@@ , v72 , v108 , v108 + Number , v120 , Number ) ; } else { gen_store_exclusive ( @@a2@@ , v72 , v108 , Number , v120 , Number ) ; } } tcg_temp_free_i32 ( v120 ) ; } else { v121 = load_reg ( @@a2@@ , v115 ) ; v56 = load_reg ( @@a2@@ , @@v94@@ & Number ) ; if ( ( @@v94@@ & Number ) != Number ) { v30 = gen_ld8u ( v121 , Number ) ; gen_st8 ( v56 , v121 , Number ) ; } else { v30 = gen_ld32 ( v121 , Number ) ; gen_st32 ( v56 , v121 , Number ) ; } tcg_temp_free_i32 ( v121 ) ; store_reg ( ( __int64 ) @@a2@@ , v72 , v30 ) ; } return __readfsqword ( Number ) ^ @@v128@@ ; } v70 = HIWORD ( @@v94@@ ) & Number ; v114 = ( unsigned __int16 ) @@v94@@ >> Number ; v111 = ( @@v94@@ >> Number ) & Number ; v107 = @@v94@@ & Number ; v99 = ( @@v94@@ >> Number ) & Number ; if ( v99 >= Number ) { v55 = load_reg ( @@a2@@ , v111 ) ; v29 = load_reg ( @@a2@@ , v107 ) ; if ( ( @@v94@@ & Number ) != Number ) v14 = gen_muls_i64_i32 ( v55 , v29 ) ; else v14 = gen_mulu_i64_i32 ( v55 , v29 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_addq ( @@a2@@ , v14 , v114 , v70 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_logicq_cc ( v14 ) ; gen_storeq_reg ( ( __int64 ) @@a2@@ , v114 , v70 , v14 ) ; tcg_temp_free_i64 ( v14 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( v99 == Number ) goto LABEL_189 ; if ( v99 > Number ) goto LABEL_426 ; if ( v99 <= Number ) { LABEL_189 : v44 = load_reg ( @@a2@@ , v111 ) ; v25 = load_reg ( @@a2@@ , v107 ) ; tcg_gen_mul_i32 ( v44 , v44 , v25 ) ; tcg_temp_free_i32 ( v25 ) ; if ( ( @@v94@@ & Number ) != Number ) { if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v26 = load_reg ( @@a2@@ , v114 ) ; tcg_gen_sub_i32 ( v44 , v26 , v44 ) ; tcg_temp_free_i32 ( v26 ) ; } else if ( ( @@v94@@ & Number ) != Number ) { v27 = load_reg ( @@a2@@ , v114 ) ; tcg_gen_add_i32 ( v44 , v44 , v27 ) ; tcg_temp_free_i32 ( v27 ) ; } if ( ( @@v94@@ & Number ) != Number ) gen_logic_CC ( v44 ) ; goto LABEL_360 ; } if ( v99 == Number && arm_feature ( @@a1@@ , Number ) ) { v54 = load_reg ( @@a2@@ , v111 ) ; v28 = load_reg ( @@a2@@ , v107 ) ; v13 = gen_mulu_i64_i32 ( v54 , v28 ) ; gen_addq_lo ( @@a2@@ , v13 , v114 ) ; gen_addq_lo ( @@a2@@ , v13 , v70 ) ; gen_storeq_reg ( ( __int64 ) @@a2@@ , v114 , v70 , v13 ) ; tcg_temp_free_i64 ( v13 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } goto LABEL_426 ; } v116 = HIWORD ( @@v94@@ ) & Number ; v70 = ( unsigned __int16 ) @@v94@@ >> Number ; v122 = load_reg ( @@a2@@ , v116 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_add_datah_offset ( @@a2@@ , @@v94@@ , Number , v122 ) ; @@v17@@ = Number ; if ( ( @@v94@@ & Number ) != Number ) { if ( v104 == Number ) { v44 = gen_ld16u ( v122 , Number ) ; } else if ( v104 == Number ) { v44 = gen_ld8s ( v122 , Number ) ; } else { v44 = gen_ld16s ( v122 , Number ) ; } @@v10@@ = Number ; } else if ( ( ( @@v94@@ >> Number ) & Number ) != Number ) { if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; if ( ( @@v94@@ & Number ) != Number ) { v6 = load_reg ( @@a2@@ , v70 ) ; gen_st32 ( v6 , v122 , Number ) ; tcg_gen_addi_i32 ( v122 , v122 , Number ) ; v44 = load_reg ( @@a2@@ , v70 + Number ) ; gen_st32 ( v44 , v122 , Number ) ; @@v10@@ = Number ; } else { v7 = gen_ld32 ( v122 , Number ) ; store_reg ( ( __int64 ) @@a2@@ , v70 , v7 ) ; tcg_gen_addi_i32 ( v122 , v122 , Number ) ; v44 = gen_ld32 ( v122 , Number ) ; ++ v70 ; @@v10@@ = Number ; } @@v17@@ = Number ; } else { v44 = load_reg ( @@a2@@ , v70 ) ; gen_st16 ( v44 , v122 , Number ) ; @@v10@@ = Number ; } if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) { if ( @@v17@@ ) tcg_gen_addi_i32 ( v122 , v122 , @@v17@@ ) ; store_reg ( ( __int64 ) @@a2@@ , v116 , v122 ) ; } else { tcg_temp_free_i32 ( v122 ) ; } } else { gen_add_datah_offset ( @@a2@@ , @@v94@@ , @@v17@@ , v122 ) ; store_reg ( ( __int64 ) @@a2@@ , v116 , v122 ) ; } if ( ! @@v10@@ ) return __readfsqword ( Number ) ^ @@v128@@ ; goto LABEL_360 ; case Number : case Number : goto LABEL_361 ; case Number : case Number : if ( ( @@v94@@ & Number ) == Number ) { LABEL_361 : if ( v98 == Number && ( @@v94@@ & Number ) == Number ) goto LABEL_426 ; v118 = HIWORD ( @@v94@@ ) & Number ; v73 = ( unsigned __int16 ) @@v94@@ >> Number ; v42 = load_reg ( @@a2@@ , v118 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_add_data_offset ( @@a2@@ , @@v94@@ , v42 ) ; if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) v65 = gen_ld8u ( v42 , Number ) ; else v65 = gen_ld32 ( v42 , Number ) ; } else { v65 = load_reg ( @@a2@@ , v73 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_st8 ( v65 , v42 , Number ) ; else gen_st32 ( v65 , v42 , Number ) ; } if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) store_reg ( ( __int64 ) @@a2@@ , v118 , v42 ) ; else tcg_temp_free_i32 ( v42 ) ; } else { gen_add_data_offset ( @@a2@@ , @@v94@@ , v42 ) ; store_reg ( ( __int64 ) @@a2@@ , v118 , v42 ) ; } if ( ( @@v94@@ & Number ) != Number ) store_reg_from_load ( @@a1@@ , ( __int64 ) @@a2@@ , v73 , v65 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v109 = @@v94@@ & Number ; v117 = HIWORD ( @@v94@@ ) & Number ; v70 = ( unsigned __int16 ) @@v94@@ >> Number ; v112 = ( @@v94@@ >> Number ) & Number ; v8 = ( @@v94@@ >> Number ) & Number ; switch ( v8 ) { case Number : v102 = ( @@v94@@ >> Number ) & Number | ( ( unsigned __int8 ) @@v94@@ >> Number ) ; switch ( v102 ) { case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v63 = load_reg ( @@a2@@ , v109 ) ; v39 = load_reg ( @@a2@@ , v112 ) ; gen_helper_usad8 ( v63 , v63 , v39 ) ; tcg_temp_free_i32 ( v39 ) ; if ( v70 != Number ) { v40 = load_reg ( @@a2@@ , v70 ) ; tcg_gen_add_i32 ( v63 , v63 , v40 ) ; tcg_temp_free_i32 ( v40 ) ; } goto LABEL_334 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v44 = load_reg ( @@a2@@ , v109 ) ; v80 = ( @@v94@@ >> Number ) & Number ; v81 = ( HIWORD ( @@v94@@ ) & Number ) + Number ; if ( v80 + v81 > Number ) goto LABEL_426 ; if ( v81 <= Number ) { if ( ( v102 & Number ) != Number ) gen_ubfx ( v44 , v80 , ( Number << v81 ) - Number ) ; else gen_sbfx ( v44 , v80 , v81 ) ; } goto LABEL_360 ; case Number : case Number : case Number : case Number : if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; v79 = ( @@v94@@ >> Number ) & Number ; if ( v109 == Number ) { v44 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v44 , Number ) ; } else { v44 = load_reg ( @@a2@@ , v109 ) ; } if ( ( HIWORD ( @@v94@@ ) & Number ) - v79 != Number ) { v41 = load_reg ( @@a2@@ , v70 ) ; gen_bfi ( v44 , v41 , v44 , v79 , ( Number << ( ( BYTE2 ( @@v94@@ ) & Number ) - v79 + Number ) ) - Number ) ; tcg_temp_free_i32 ( v41 ) ; } goto LABEL_360 ; default : goto LABEL_426 ; } case Number : switch ( ( @@v94@@ >> Number ) & Number ) { case Number : case Number : if ( ( @@v94@@ & Number ) != Number ) goto LABEL_426 ; v63 = load_reg ( @@a2@@ , v109 ) ; v36 = load_reg ( @@a2@@ , v112 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_swap_half ( v36 ) ; gen_smul_dual ( v63 , v36 ) ; if ( ( @@v94@@ & Number ) != Number ) tcg_gen_sub_i32 ( v63 , v63 , v36 ) ; else gen_helper_add_setq ( v63 , v63 , v36 ) ; tcg_temp_free_i32 ( v36 ) ; if ( ( @@v94@@ & Number ) != Number ) { v16 = tcg_temp_new_i64 ( ) ; tcg_gen_ext_i32_i64 ( v16 , v63 ) ; tcg_temp_free_i32 ( v63 ) ; gen_addq ( @@a2@@ , v16 , v70 , v117 ) ; gen_storeq_reg ( ( __int64 ) @@a2@@ , v70 , v117 , v16 ) ; tcg_temp_free_i64 ( v16 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( v70 != Number ) { v37 = load_reg ( @@a2@@ , v70 ) ; gen_helper_add_setq ( v63 , v63 , v37 ) ; tcg_temp_free_i32 ( v37 ) ; } break ; case Number : case Number : if ( ! arm_feature ( @@a1@@ , Number ) || ( unsigned __int8 ) @@v94@@ >> Number || v70 != Number ) goto LABEL_426 ; v64 = load_reg ( @@a2@@ , v109 ) ; v38 = load_reg ( @@a2@@ , v112 ) ; if ( ( @@v94@@ & Number ) != Number ) gen_helper_udiv ( v64 , v64 , v38 ) ; else gen_helper_sdiv ( v64 , v64 , v38 ) ; tcg_temp_free_i32 ( v38 ) ; store_reg ( ( __int64 ) @@a2@@ , v117 , v64 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : if ( ( ( ( unsigned __int8 ) ( @@v94@@ >> Number ) ^ ( unsigned __int8 ) ( @@v94@@ >> Number ) ) & Number ) != Number ) goto LABEL_426 ; v60 = load_reg ( @@a2@@ , v109 ) ; v35 = load_reg ( @@a2@@ , v112 ) ; v15 = gen_muls_i64_i32 ( v60 , v35 ) ; if ( v70 != Number ) { v61 = load_reg ( @@a2@@ , v70 ) ; if ( ( @@v94@@ & Number ) != Number ) v15 = gen_subq_msw ( v15 , v61 ) ; else v15 = gen_addq_msw ( v15 , v61 ) ; } if ( ( @@v94@@ & Number ) != Number ) tcg_gen_addi_i64 ( v15 , v15 , Number ) ; tcg_gen_shri_i64 ( v15 , v15 , Number L ) ; v62 = tcg_temp_new_i32 ( ) ; tcg_gen_trunc_i64_i32 ( v62 , v15 ) ; tcg_temp_free_i64 ( v15 ) ; store_reg ( ( __int64 ) @@a2@@ , v117 , v62 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; default : goto LABEL_426 ; } LABEL_334 : store_reg ( ( __int64 ) @@a2@@ , v117 , v63 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : v57 = load_reg ( @@a2@@ , v117 ) ; v31 = load_reg ( @@a2@@ , v109 ) ; v105 = ( unsigned __int8 ) @@v94@@ >> Number ; if ( ( ( @@v94@@ >> Number ) & Number ) != Number && v105 != Number && v105 != Number ) { gen_arm_parallel_addsub ( ( @@v94@@ >> Number ) & Number , v105 , v57 , v31 ) ; tcg_temp_free_i32 ( v31 ) ; store_reg ( ( __int64 ) @@a2@@ , v70 , v57 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } goto LABEL_426 ; } if ( ( @@v94@@ & Number ) == Number ) { v58 = load_reg ( @@a2@@ , v117 ) ; v32 = load_reg ( @@a2@@ , v109 ) ; v76 = ( @@v94@@ >> Number ) & Number ; if ( ( @@v94@@ & Number ) != Number ) { if ( ! v76 ) v76 = Number ; tcg_gen_sari_i32 ( v32 , v32 , v76 ) ; tcg_gen_andi_i32 ( v58 , v58 , Number ) ; tcg_gen_ext16u_i32 ( v32 , v32 ) ; } else { if ( v76 ) tcg_gen_shli_i32 ( v32 , v32 , v76 ) ; tcg_gen_ext16u_i32 ( v58 , v58 ) ; tcg_gen_andi_i32 ( v32 , v32 , Number ) ; } tcg_gen_or_i32 ( v58 , v58 , v32 ) ; tcg_temp_free_i32 ( v32 ) ; store_reg ( ( __int64 ) @@a2@@ , v70 , v58 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number ) { v50 = load_reg ( @@a2@@ , v109 ) ; v77 = ( @@v94@@ >> Number ) & Number ; if ( ( @@v94@@ & Number ) != Number ) { if ( ! v77 ) v77 = Number ; tcg_gen_sari_i32 ( v50 , v50 , v77 ) ; } else { tcg_gen_shli_i32 ( v50 , v50 , v77 ) ; } v19 = tcg_const_i32 ( HIWORD ( @@v94@@ ) & Number ) ; if ( ( @@v94@@ & Number ) != Number ) gen_helper_usat ( v50 , v50 , v19 ) ; else gen_helper_ssat ( v50 , v50 , v19 ) ; } else { if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) == Number ) { v59 = load_reg ( @@a2@@ , v117 ) ; v33 = load_reg ( @@a2@@ , v109 ) ; @@v124@@ = tcg_temp_new_i32 ( ) ; tcg_gen_ld_i32 ( @@v124@@ , cpu_env , Number L ) ; gen_helper_sel_flags ( v59 , @@v124@@ , v59 , v33 ) ; tcg_temp_free_i32 ( @@v124@@ ) ; tcg_temp_free_i32 ( v33 ) ; store_reg ( ( __int64 ) @@a2@@ , v70 , v59 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number ) { v44 = load_reg ( @@a2@@ , v109 ) ; v78 = ( @@v94@@ >> Number ) & Number ; if ( v78 ) tcg_gen_rotri_i32 ( v44 , v44 , Number * v78 ) ; v101 = ( @@v94@@ >> Number ) & Number ; switch ( v101 ) { case Number : gen_helper_sxtb16 ( v44 , v44 ) ; break ; case Number : tcg_gen_ext8s_i32 ( v44 , v44 ) ; break ; case Number : tcg_gen_ext16s_i32 ( v44 , v44 ) ; break ; case Number : gen_helper_uxtb16 ( v44 , v44 ) ; break ; case Number : tcg_gen_ext8u_i32 ( v44 , v44 ) ; break ; case Number : tcg_gen_ext16u_i32 ( v44 , v44 ) ; break ; default : goto LABEL_426 ; } if ( v117 != Number ) { v34 = load_reg ( @@a2@@ , v117 ) ; if ( ( v101 & Number ) != Number ) { tcg_gen_add_i32 ( v44 , v44 , v34 ) ; tcg_temp_free_i32 ( v34 ) ; } else { gen_add16 ( v44 , v34 ) ; } } } else { if ( ( @@v94@@ & Number ) != Number ) goto LABEL_426 ; v44 = load_reg ( @@a2@@ , v109 ) ; if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) { gen_revsh ( v44 ) ; } else { if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; gen_helper_rbit ( v44 , v44 ) ; } } else if ( ( @@v94@@ & Number ) != Number ) { gen_rev16 ( v44 ) ; } else { tcg_gen_bswap32_i32 ( v44 , v44 ) ; } } goto LABEL_360 ; } v50 = load_reg ( @@a2@@ , v109 ) ; v19 = tcg_const_i32 ( HIWORD ( @@v94@@ ) & Number ) ; if ( ( @@v94@@ & Number ) != Number ) gen_helper_usat16 ( v50 , v50 , v19 ) ; else gen_helper_ssat16 ( v50 , v50 , v19 ) ; } LABEL_288 : tcg_temp_free_i32 ( v19 ) ; store_reg ( ( __int64 ) @@a2@@ , v70 , v50 ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : case Number : if ( ( @@v94@@ & Number ) != Number ) goto LABEL_426 ; v119 = HIWORD ( @@v94@@ ) & Number ; v123 = load_reg ( @@a2@@ , v119 ) ; @@v92@@ = Number ; @@v93@@ = Number ; @@v91@@ = Number ; for ( i = Number ; i <= Number ; ++ i ) { if ( ( @@v94@@ & ( Number << i ) ) != Number ) ++ @@v91@@ ; } if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) tcg_gen_addi_i32 ( v123 , v123 , Number ) ; } else if ( ( @@v94@@ & Number ) != Number ) { tcg_gen_addi_i32 ( v123 , v123 , Number * @@v91@@ ) ; } else if ( @@v91@@ != Number ) { tcg_gen_addi_i32 ( v123 , v123 , Number * ( Number - @@v91@@ ) ) ; } @@v90@@ = Number ; for ( j = Number ; j <= Number ; ++ j ) { if ( ( @@v94@@ & ( Number << j ) ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) { v66 = gen_ld32 ( v123 , Number ) ; if ( j == v119 ) { @@v93@@ = v66 ; @@v92@@ = Number ; } else { store_reg_from_load ( @@a1@@ , ( __int64 ) @@a2@@ , j , v66 ) ; } } else { if ( j == Number ) { v88 = * @@a2@@ + Number ; v67 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v67 , v88 ) ; } else { v67 = load_reg ( @@a2@@ , j ) ; } gen_st32 ( v67 , v123 , Number ) ; } if ( ++ @@v90@@ != @@v91@@ ) tcg_gen_addi_i32 ( v123 , v123 , Number ) ; } } if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) == Number ) tcg_gen_addi_i32 ( v123 , v123 , Number ) ; } else if ( ( @@v94@@ & Number ) != Number ) { if ( @@v91@@ != Number ) tcg_gen_addi_i32 ( v123 , v123 , Number * ( Number - @@v91@@ ) ) ; } else { tcg_gen_addi_i32 ( v123 , v123 , Number * @@v91@@ ) ; } store_reg ( ( __int64 ) @@a2@@ , v119 , v123 ) ; } else { tcg_temp_free_i32 ( v123 ) ; } if ( @@v92@@ ) store_reg ( ( __int64 ) @@a2@@ , v119 , @@v93@@ ) ; if ( ( @@v94@@ & Number ) != Number ) { v68 = load_cpu_offset ( Number ) ; gen_set_cpsr ( v68 , Number ) ; tcg_temp_free_i32 ( v68 ) ; @@a2@@ [ Number ] = Number ; } return __readfsqword ( Number ) ^ @@v128@@ ; case Number : case Number : v89 = * @@a2@@ ; if ( ( @@v94@@ & Number ) != Number ) { v69 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v69 , v89 ) ; store_reg ( ( __int64 ) @@a2@@ , Number , v69 ) ; } gen_jmp ( @@a2@@ , Number * ( ( int ) ( @@v94@@ << Number ) >> Number ) + v89 + Number ) ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : case Number : case Number : if ( ( unsigned int ) disas_coproc_insn ( @@a1@@ , @@a2@@ , @@v94@@ ) ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; case Number : gen_set_pc_im ( * @@a2@@ ) ; @@a2@@ [ Number ] = Number ; return __readfsqword ( Number ) ^ @@v128@@ ; default : goto LABEL_426 ; } } if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; if ( ( ( @@v94@@ >> Number ) & Number ) != Number ) { if ( ( @@v94@@ & Number ) == Number ) { if ( ! arm_feature ( @@a1@@ , Number ) || ( unsigned int ) disas_neon_ls_insn ( @@a1@@ , @@a2@@ , @@v94@@ ) ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number || ( @@v94@@ & Number ) == Number ) { if ( ( @@v94@@ & Number ) == Number && ! arm_feature ( @@a1@@ , Number ) || ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number || ( @@v94@@ & Number ) == Number ) { if ( arm_feature ( @@a1@@ , Number ) ) return __readfsqword ( Number ) ^ @@v128@@ ; } else if ( ( @@v94@@ & Number ) == Number || ( @@v94@@ & Number ) == Number ) { if ( arm_feature ( @@a1@@ , Number ) ) return __readfsqword ( Number ) ^ @@v128@@ ; } else { if ( ( @@v94@@ & Number ) == Number ) { if ( ! arm_feature ( @@a1@@ , Number ) || ( @@v94@@ & Number ) != Number ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number ) { v2 = ( unsigned __int8 ) @@v94@@ >> Number ; if ( v2 != Number ) { if ( ! ( ( unsigned __int8 ) @@v94@@ >> Number ) ) goto LABEL_426 ; if ( ( unsigned int ) ( v2 - Number ) > Number ) goto LABEL_426 ; if ( ! arm_feature ( @@a1@@ , Number ) ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( arm_feature ( @@a1@@ , Number ) ) { gen_clrex ( ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } } else { if ( ( @@v94@@ & Number ) == Number || ( @@v94@@ & Number ) == Number ) goto LABEL_426 ; if ( ( @@v94@@ & Number ) == Number ) { v84 = * @@a2@@ ; v43 = tcg_temp_new_i32 ( ) ; tcg_gen_movi_i32 ( v43 , v84 ) ; store_reg ( ( __int64 ) @@a2@@ , Number , v43 ) ; gen_bx_im ( ( __int64 ) @@a2@@ , ( ( Number * ( ( int ) ( @@v94@@ << Number ) >> Number ) ) | ( @@v94@@ >> Number ) & Number | Number ) + v84 + Number ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) == Number ) { if ( ! arm_feature ( @@a1@@ , Number ) || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ( unsigned int ) disas_iwmmxt_insn ( @@a1@@ , @@a2@@ , @@v94@@ ) ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ( @@v94@@ & Number ) != Number ) { if ( ( @@v94@@ & Number ) == Number || ( @@v94@@ & Number ) != Number ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; } arm_feature ( @@a1@@ , Number ) ; } } LABEL_426 : gen_exception_insn ( @@a2@@ , Number , Number ) ; return __readfsqword ( Number ) ^ @@v128@@ ; } if ( ! arm_feature ( @@a1@@ , Number ) || disas_neon_data_insn ( @@a1@@ , ( __int64 ) @@a2@@ , @@v94@@ ) ) goto LABEL_426 ; return __readfsqword ( Number ) ^ @@v128@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "int"}, "location": "r64"}, {"n": "v90", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v17", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s128"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s136"}, {"n": "v128", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "v127", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v126", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v125", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v124", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s44"}, {"n": "v95", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s80"}, {"n": "v94", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s84"}, {"n": "v93", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s88"}, {"n": "v92", "t": {"T": 1, "n": "int", "s": 4}, "location": "s92"}, {"n": "v91", "t": {"T": 1, "n": "int", "s": 4}, "location": "s96"}]}