{"name": "gen_thumb2_parallel_addsub", "code": "unsigned __int64 __fastcall gen_thumb2_parallel_addsub ( int @@a1@@ , int @@a2@@ , int @@a3@@ , int @@a4@@ ) { unsigned int @@v7@@ ; unsigned __int64 @@v8@@ ; @@v8@@ = __readfsqword ( Number ) ; switch ( @@a2@@ ) { case Number : @@v7@@ = tcg_temp_new_i64 ( ) ; tcg_gen_addi_i64 ( @@v7@@ , cpu_env , Number L ) ; switch ( @@a1@@ ) { case Number : gen_helper_sadd8 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_sadd16 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_saddsubx ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_ssub8 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_ssub16 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_ssubaddx ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; default : goto LABEL_9 ; } goto LABEL_9 ; case Number : switch ( @@a1@@ ) { case Number : gen_helper_qadd8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_qadd16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_qaddsubx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_qsub8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_qsub16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_qsubaddx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; default : return __readfsqword ( Number ) ^ @@v8@@ ; } break ; case Number : switch ( @@a1@@ ) { case Number : gen_helper_shadd8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_shadd16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_shaddsubx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_shsub8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_shsub16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_shsubaddx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; default : return __readfsqword ( Number ) ^ @@v8@@ ; } break ; case Number : @@v7@@ = tcg_temp_new_i64 ( ) ; tcg_gen_addi_i64 ( @@v7@@ , cpu_env , Number L ) ; switch ( @@a1@@ ) { case Number : gen_helper_uadd8 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_uadd16 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_uaddsubx ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_usub8 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_usub16 ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; case Number : gen_helper_usubaddx ( @@a3@@ , @@a3@@ , @@a4@@ , @@v7@@ ) ; break ; default : break ; } LABEL_9 : tcg_temp_free_i64 ( @@v7@@ ) ; break ; case Number : switch ( @@a1@@ ) { case Number : gen_helper_uqadd8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uqadd16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uqaddsubx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uqsub8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uqsub16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uqsubaddx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; default : return __readfsqword ( Number ) ^ @@v8@@ ; } break ; case Number : switch ( @@a1@@ ) { case Number : gen_helper_uhadd8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uhadd16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uhaddsubx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uhsub8 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uhsub16 ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; case Number : gen_helper_uhsubaddx ( @@a3@@ , @@a3@@ , @@a4@@ ) ; break ; default : return __readfsqword ( Number ) ^ @@v8@@ ; } break ; default : return __readfsqword ( Number ) ^ @@v8@@ ; } return __readfsqword ( Number ) ^ @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}