{"name": "raid6_sse21_gen_syndrome", "code": "void __fastcall raid6_sse21_gen_syndrome ( int @@a1@@ , unsigned __int64 @@a2@@ , __int64 @@a3@@ ) { __m128i @@v3@@ ; __m128i @@v4@@ ; __m128i @@v6@@ ; __m128i v8 ; __m128i @@v9@@ ; __m128i v11 ; __m128i v12 ; __int64 @@v13@@ ; __int64 @@v14@@ ; int @@v15@@ ; int @@j@@ ; int @@i@@ ; @@v15@@ = @@a1@@ - Number ; @@v14@@ = * ( _QWORD * ) ( Number * ( @@a1@@ - Number + Number L ) + @@a3@@ ) ; @@v13@@ = * ( _QWORD * ) ( Number * ( @@a1@@ - Number + Number L ) + @@a3@@ ) ; kernel_fpu_begin ( ) ; @@v3@@ = _mm_load_si128 ( ( const __m128i * ) & raid6_sse_constants ) ; @@v4@@ = Number L ; for ( @@i@@ = Number ; @@a2@@ > @@i@@ ; @@i@@ += Number ) { @@_RAX@@ = ( const __m128i * ) ( * ( _QWORD * ) ( Number L * @@v15@@ + @@a3@@ ) + @@i@@ ) ; __asm { prefetchnta byte ptr [ rax ] } @@v6@@ = _mm_load_si128 ( @@_RAX@@ ) ; @@_RAX@@ = ( const __m128i * ) ( * ( _QWORD * ) ( Number L * @@v15@@ - Number + @@a3@@ ) + @@i@@ ) ; __asm { prefetchnta byte ptr [ rax ] } v8 = @@v6@@ ; @@v9@@ = _mm_load_si128 ( @@_RAX@@ ) ; for ( @@j@@ = @@a1@@ - Number ; @@j@@ >= Number ; -- @@j@@ ) { @@_RAX@@ = ( const __m128i * ) ( * ( _QWORD * ) ( Number L * @@j@@ + @@a3@@ ) + @@i@@ ) ; __asm { prefetchnta byte ptr [ rax ] } v11 = _mm_xor_si128 ( _mm_add_epi8 ( v8 , v8 ) , _mm_and_si128 ( _mm_cmpgt_epi8 ( @@v4@@ , v8 ) , @@v3@@ ) ) ; @@v4@@ = Number L ; @@v6@@ = _mm_xor_si128 ( @@v6@@ , @@v9@@ ) ; v8 = _mm_xor_si128 ( v11 , @@v9@@ ) ; @@v9@@ = _mm_load_si128 ( @@_RAX@@ ) ; } v12 = _mm_xor_si128 ( _mm_add_epi8 ( v8 , v8 ) , _mm_and_si128 ( _mm_cmpgt_epi8 ( @@v4@@ , v8 ) , @@v3@@ ) ) ; @@v4@@ = Number L ; _mm_stream_si128 ( ( __m128i * ) ( @@i@@ + @@v14@@ ) , _mm_xor_si128 ( @@v6@@ , @@v9@@ ) ) ; _mm_stream_si128 ( ( __m128i * ) ( @@i@@ + @@v13@@ ) , _mm_xor_si128 ( v12 , @@v9@@ ) ) ; } _mm_sfence ( ) ; kernel_fpu_end ( ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "v3", "t": {"T": 8}, "location": "r496"}, {"n": "v6", "t": {"T": 8}, "location": "r528"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "v4", "t": {"T": 8}, "location": "r576"}, {"n": "v9", "t": {"T": 8}, "location": "r592"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r64"}, {"n": "_RAX", "t": {"T": 3, "t": "const __m128i"}, "location": "r8"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}