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