{"name": "gen_neon_unzip", "code": "unsigned __int64 __fastcall gen_neon_unzip ( int @@a1@@ , int @@a2@@ , int @@a3@@ , int @@a4@@ ) { int @@i@@ ; unsigned int @@v8@@ ; unsigned int @@v9@@ ; unsigned __int64 @@v10@@ ; @@v10@@ = __readfsqword ( Number ) ; for ( @@i@@ = Number ; @@a2@@ >= @@i@@ ; @@i@@ += Number ) { @@v8@@ = neon_load_reg ( @@a1@@ , @@i@@ ) ; @@v9@@ = neon_load_reg ( @@a1@@ , @@i@@ + Number ) ; if ( @@a4@@ != Number ) { if ( @@a4@@ > Number ) goto LABEL_9 ; if ( @@a4@@ ) { if ( @@a4@@ != Number ) LABEL_9 : abort ( ) ; gen_neon_zip_u16 ( @@v8@@ , @@v9@@ ) ; } else { gen_neon_unzip_u8 ( @@v8@@ , @@v9@@ ) ; } } neon_store_scratch ( @@i@@ + @@a3@@ , @@v8@@ ) ; neon_store_scratch ( @@a3@@ + @@i@@ + Number , @@v9@@ ) ; } return __readfsqword ( Number ) ^ @@v10@@ ; }", "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": "v9", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}