{"name": "avg_h264_qpel8or16_v_lowpass_sse2", "code": "const __m128i * __fastcall avg_h264_qpel8or16_v_lowpass_sse2 ( __m128i * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , int @@a4@@ , int @@a5@@ ) { __int64 v5 ; __m128i v6 ; __m128i v7 ; __m128i v8 ; __m128i v9 ; __m128i v10 ; const __m128i * v11 ; __m128i v12 ; __m128i v13 ; __m128i v14 ; __m128i * v15 ; __m128i v16 ; __m128i v17 ; __m128i * v18 ; __m128i v19 ; __m128i v20 ; __m128i * v21 ; __m128i v22 ; __m128i v23 ; __m128i * v24 ; __m128i v25 ; __m128i v26 ; __m128i * v27 ; __m128i v28 ; __m128i v29 ; __m128i * v30 ; __m128i v31 ; const __m128i * result ; __m128i v33 ; __m128i * v34 ; __int64 v35 ; __m128i v36 ; const __m128i * v37 ; __m128i v38 ; __m128i v39 ; __m128i v40 ; __m128i * v41 ; __m128i v42 ; __m128i v43 ; __m128i * v44 ; __m128i v45 ; __m128i v46 ; __m128i * v47 ; __m128i v48 ; __m128i v49 ; __m128i * v50 ; __m128i v51 ; __m128i v52 ; __m128i * v53 ; __m128i v54 ; __m128i v55 ; __m128i * v56 ; __m128i v57 ; __m128i v58 ; const __m128i * @@v59@@ ; __m128i * @@v60@@ ; @@v59@@ = ( const __m128i * ) ( Number * @@a4@@ + @@a2@@ ) ; v5 = @@a4@@ ; v6 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) @@v59@@ + @@a4@@ ) ) , ( __m128i ) Number L ) ; v7 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) @@v59@@ + @@a4@@ + @@a4@@ ) ) , ( __m128i ) Number L ) ; v8 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) @@v59@@ + @@a4@@ + @@a4@@ + @@a4@@ ) ) , ( __m128i ) Number L ) ; v9 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) @@v59@@ + @@a4@@ + @@a4@@ + @@a4@@ + @@a4@@ ) ) , ( __m128i ) Number L ) ; v10 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) @@v59@@ + @@a4@@ + @@a4@@ + @@a4@@ + @@a4@@ + @@a4@@ ) ) , ( __m128i ) Number L ) ; v11 = ( const __m128i * ) ( ( char * ) @@v59@@ + @@a4@@ + @@a4@@ + @@a4@@ + @@a4@@ + @@a4@@ + @@a4@@ ) ; v12 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v7 , v8 ) , Number ) , v6 ) , v9 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( @@v59@@ ) , ( __m128i ) Number L ) , ( __m128i ) ff_pw_16 ) , v10 ) ) , Number ) ; @@a1@@ -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v12 , v12 ) , _mm_loadl_epi64 ( @@a1@@ ) ) . m128i_u64 [ Number ] ; v13 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( v11 ) , ( __m128i ) Number L ) ; v14 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v8 , v9 ) , Number ) , v7 ) , v10 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v6 , ( __m128i ) ff_pw_16 ) , v13 ) ) , Number ) ; v15 = ( __m128i * ) ( ( char * ) @@a1@@ + @@a3@@ ) ; v15 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v14 , v14 ) , _mm_loadl_epi64 ( v15 ) ) . m128i_u64 [ Number ] ; v16 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v11 + @@a4@@ ) ) , ( __m128i ) Number L ) ; v17 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v9 , v10 ) , Number ) , v8 ) , v13 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v7 , ( __m128i ) ff_pw_16 ) , v16 ) ) , Number ) ; v18 = ( __m128i * ) ( ( char * ) v15 + @@a3@@ ) ; v18 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v17 , v17 ) , _mm_loadl_epi64 ( v18 ) ) . m128i_u64 [ Number ] ; v19 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v11 + v5 + v5 ) ) , ( __m128i ) Number L ) ; v20 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v10 , v13 ) , Number ) , v9 ) , v16 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v8 , ( __m128i ) ff_pw_16 ) , v19 ) ) , Number ) ; v21 = ( __m128i * ) ( ( char * ) v18 + @@a3@@ ) ; v21 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v20 , v20 ) , _mm_loadl_epi64 ( v21 ) ) . m128i_u64 [ Number ] ; v22 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v11 + v5 + v5 + v5 ) ) , ( __m128i ) Number L ) ; v23 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v13 , v16 ) , Number ) , v10 ) , v19 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v9 , ( __m128i ) ff_pw_16 ) , v22 ) ) , Number ) ; v24 = ( __m128i * ) ( ( char * ) v21 + @@a3@@ ) ; v24 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v23 , v23 ) , _mm_loadl_epi64 ( v24 ) ) . m128i_u64 [ Number ] ; v25 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v11 + v5 + v5 + v5 + v5 ) ) , ( __m128i ) Number L ) ; v26 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v16 , v19 ) , Number ) , v13 ) , v22 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v10 , ( __m128i ) ff_pw_16 ) , v25 ) ) , Number ) ; v27 = ( __m128i * ) ( ( char * ) v24 + @@a3@@ ) ; v27 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v26 , v26 ) , _mm_loadl_epi64 ( v27 ) ) . m128i_u64 [ Number ] ; v28 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v11 + v5 + v5 + v5 + v5 + v5 ) ) , ( __m128i ) Number L ) ; v29 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v19 , v22 ) , Number ) , v16 ) , v25 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v13 , ( __m128i ) ff_pw_16 ) , v28 ) ) , Number ) ; v30 = ( __m128i * ) ( ( char * ) v27 + @@a3@@ ) ; v30 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v29 , v29 ) , _mm_loadl_epi64 ( v30 ) ) . m128i_u64 [ Number ] ; v31 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v11 + v5 + v5 + v5 + v5 + v5 + v5 ) ) , ( __m128i ) Number L ) ; result = ( const __m128i * ) ( ( char * ) v11 + v5 + v5 + v5 + v5 + v5 + v5 + v5 ) ; v33 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v22 , v25 ) , Number ) , v19 ) , v28 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v16 , ( __m128i ) ff_pw_16 ) , v31 ) ) , Number ) ; v34 = ( __m128i * ) ( ( char * ) v30 + @@a3@@ ) ; v34 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v33 , v33 ) , _mm_loadl_epi64 ( v34 ) ) . m128i_u64 [ Number ] ; @@v60@@ = ( __m128i * ) ( ( char * ) v34 + @@a3@@ ) ; if ( @@a5@@ == Number ) { v35 = @@a4@@ ; v36 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( result ) , ( __m128i ) Number L ) ; v37 = ( const __m128i * ) ( ( char * ) result + @@a4@@ ) ; v38 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v25 , v28 ) , Number ) , v22 ) , v31 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v19 , ( __m128i ) ff_pw_16 ) , v36 ) ) , Number ) ; @@v60@@ -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v38 , v38 ) , _mm_loadl_epi64 ( @@v60@@ ) ) . m128i_u64 [ Number ] ; v39 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( v37 ) , ( __m128i ) Number L ) ; v40 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v28 , v31 ) , Number ) , v25 ) , v36 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v22 , ( __m128i ) ff_pw_16 ) , v39 ) ) , Number ) ; v41 = ( __m128i * ) ( ( char * ) @@v60@@ + @@a3@@ ) ; v41 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v40 , v40 ) , _mm_loadl_epi64 ( v41 ) ) . m128i_u64 [ Number ] ; v42 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v37 + @@a4@@ ) ) , ( __m128i ) Number L ) ; v43 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v31 , v36 ) , Number ) , v28 ) , v39 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v25 , ( __m128i ) ff_pw_16 ) , v42 ) ) , Number ) ; v44 = ( __m128i * ) ( ( char * ) v41 + @@a3@@ ) ; v44 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v43 , v43 ) , _mm_loadl_epi64 ( v44 ) ) . m128i_u64 [ Number ] ; v45 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v37 + v35 + v35 ) ) , ( __m128i ) Number L ) ; v46 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v36 , v39 ) , Number ) , v31 ) , v42 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v28 , ( __m128i ) ff_pw_16 ) , v45 ) ) , Number ) ; v47 = ( __m128i * ) ( ( char * ) v44 + @@a3@@ ) ; v47 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v46 , v46 ) , _mm_loadl_epi64 ( v47 ) ) . m128i_u64 [ Number ] ; v48 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v37 + v35 + v35 + v35 ) ) , ( __m128i ) Number L ) ; v49 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v39 , v42 ) , Number ) , v36 ) , v45 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v31 , ( __m128i ) ff_pw_16 ) , v48 ) ) , Number ) ; v50 = ( __m128i * ) ( ( char * ) v47 + @@a3@@ ) ; v50 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v49 , v49 ) , _mm_loadl_epi64 ( v50 ) ) . m128i_u64 [ Number ] ; v51 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v37 + v35 + v35 + v35 + v35 ) ) , ( __m128i ) Number L ) ; v52 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v42 , v45 ) , Number ) , v39 ) , v48 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v36 , ( __m128i ) ff_pw_16 ) , v51 ) ) , Number ) ; v53 = ( __m128i * ) ( ( char * ) v50 + @@a3@@ ) ; v53 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v52 , v52 ) , _mm_loadl_epi64 ( v53 ) ) . m128i_u64 [ Number ] ; v54 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v37 + v35 + v35 + v35 + v35 + v35 ) ) , ( __m128i ) Number L ) ; v55 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v45 , v48 ) , Number ) , v42 ) , v51 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v39 , ( __m128i ) ff_pw_16 ) , v54 ) ) , Number ) ; v56 = ( __m128i * ) ( ( char * ) v53 + @@a3@@ ) ; v56 -> m128i_i64 [ Number ] = _mm_avg_epu8 ( _mm_packus_epi16 ( v55 , v55 ) , _mm_loadl_epi64 ( v56 ) ) . m128i_u64 [ Number ] ; v57 = _mm_unpacklo_epi8 ( _mm_loadl_epi64 ( ( const __m128i * ) ( ( char * ) v37 + v35 + v35 + v35 + v35 + v35 + v35 ) ) , ( __m128i ) Number L ) ; result = ( const __m128i * ) ( ( char * ) v37 + v35 + v35 + v35 + v35 + v35 + v35 + v35 ) ; v58 = _mm_srai_epi16 ( _mm_add_epi16 ( _mm_mullo_epi16 ( _mm_sub_epi16 ( _mm_sub_epi16 ( _mm_slli_epi16 ( _mm_add_epi16 ( v48 , v51 ) , Number ) , v45 ) , v54 ) , ( __m128i ) ff_pw_5 ) , _mm_add_epi16 ( _mm_add_epi16 ( v42 , ( __m128i ) ff_pw_16 ) , v57 ) ) , Number ) ; * ( __int64 * ) ( ( char * ) v56 -> m128i_i64 + @@a3@@ ) = _mm_avg_epu8 ( _mm_packus_epi16 ( v58 , v58 ) , _mm_loadl_epi64 ( ( __m128i * ) ( ( char * ) v56 + @@a3@@ ) ) ) . m128i_u64 [ Number ] ; } return result ; }", "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": 3, "t": "__m128i"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v59", "t": {"T": 3, "t": "const __m128i"}, "location": "s16"}, {"n": "v60", "t": {"T": 3, "t": "__m128i"}, "location": "s8"}]}
{"name": "avg_h264_qpel8_v_lowpass_sse2", "code": "const __m128i * __fastcall avg_h264_qpel8_v_lowpass_sse2 ( __m128i * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , int @@a4@@ ) { return avg_h264_qpel8or16_v_lowpass_sse2 ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , Number ) ; }", "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": 3, "t": "__m128i"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "avg_h264_qpel16_v_lowpass_sse2", "code": "const __m128i * __fastcall avg_h264_qpel16_v_lowpass_sse2 ( __int64 @@a1@@ , __int64 @@a2@@ , int @@a3@@ , int @@a4@@ ) { avg_h264_qpel8or16_v_lowpass_sse2 ( ( __m128i * ) @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , Number ) ; return avg_h264_qpel8or16_v_lowpass_sse2 ( ( __m128i * ) ( @@a1@@ + Number ) , @@a2@@ + Number , @@a3@@ , @@a4@@ , Number ) ; }", "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": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}