github.com/cloudwego/dynamicgo@v0.2.6-0.20240519101509-707f41b6b834/internal/native/avx2/native_subr_amd64.go (about)

     1  // +build !noasm !appengine
     2  // Code generated by asm2asm, DO NOT EDIT.
     3  
     4  package avx2
     5  
     6  import (
     7  	`github.com/bytedance/sonic/loader`
     8  )
     9  
    10  const (
    11      _entry__f64toa = 800
    12      _entry__format_significand = 54176
    13      _entry__format_integer = 3648
    14      _entry__hm_get = 33280
    15      _entry__i64toa = 4080
    16      _entry__u64toa = 4192
    17      _entry__j2t_fsm_exec = 44912
    18      _entry__advance_ns = 16064
    19      _entry__fsm_exec = 23456
    20      _entry__validate_string = 25696
    21      _entry__utf8_validate = 26848
    22      _entry__advance_string = 18464
    23      _entry__skip_number = 21808
    24      _entry__j2t_number = 39856
    25      _entry__vnumber = 19280
    26      _entry__atof_eisel_lemire64 = 13104
    27      _entry__atof_native = 15248
    28      _entry__decimal_to_f64 = 13536
    29      _entry__right_shift = 55136
    30      _entry__left_shift = 54640
    31      _entry__j2t_string = 40448
    32      _entry__unquote = 8368
    33      _entry__b64decode = 29104
    34      _entry__j2t_field_vm = 43216
    35      _entry__tb_write_default_or_empty = 36704
    36      _entry__j2t_write_unset_fields = 38992
    37      _entry__j2t_find_field_key = 42192
    38      _entry__quote = 5584
    39      _entry__tb_skip = 53136
    40      _entry__tb_write_i64 = 34832
    41      _entry__trie_get = 34096
    42  )
    43  
    44  const (
    45      _stack__f64toa = 80
    46      _stack__format_significand = 24
    47      _stack__format_integer = 16
    48      _stack__hm_get = 16
    49      _stack__i64toa = 16
    50      _stack__u64toa = 8
    51      _stack__j2t_fsm_exec = 592
    52      _stack__advance_ns = 32
    53      _stack__fsm_exec = 208
    54      _stack__validate_string = 120
    55      _stack__utf8_validate = 32
    56      _stack__advance_string = 48
    57      _stack__skip_number = 48
    58      _stack__j2t_number = 296
    59      _stack__vnumber = 240
    60      _stack__atof_eisel_lemire64 = 32
    61      _stack__atof_native = 136
    62      _stack__decimal_to_f64 = 80
    63      _stack__right_shift = 8
    64      _stack__left_shift = 24
    65      _stack__j2t_string = 144
    66      _stack__unquote = 72
    67      _stack__b64decode = 152
    68      _stack__j2t_field_vm = 312
    69      _stack__tb_write_default_or_empty = 56
    70      _stack__j2t_write_unset_fields = 176
    71      _stack__j2t_find_field_key = 32
    72      _stack__quote = 56
    73      _stack__tb_skip = 48
    74      _stack__tb_write_i64 = 8
    75      _stack__trie_get = 32
    76  )
    77  
    78  const (
    79      _size__f64toa = 2848
    80      _size__format_significand = 464
    81      _size__format_integer = 432
    82      _size__hm_get = 464
    83      _size__i64toa = 48
    84      _size__u64toa = 1248
    85      _size__j2t_fsm_exec = 7700
    86      _size__advance_ns = 832
    87      _size__fsm_exec = 1416
    88      _size__validate_string = 1152
    89      _size__utf8_validate = 492
    90      _size__advance_string = 768
    91      _size__skip_number = 1360
    92      _size__j2t_number = 548
    93      _size__vnumber = 1536
    94      _size__atof_eisel_lemire64 = 368
    95      _size__atof_native = 624
    96      _size__decimal_to_f64 = 1712
    97      _size__right_shift = 400
    98      _size__left_shift = 496
    99      _size__j2t_string = 848
   100      _size__unquote = 2480
   101      _size__b64decode = 3440
   102      _size__j2t_field_vm = 1632
   103      _size__tb_write_default_or_empty = 1092
   104      _size__j2t_write_unset_fields = 864
   105      _size__j2t_find_field_key = 752
   106      _size__quote = 2736
   107      _size__tb_skip = 968
   108      _size__tb_write_i64 = 64
   109      _size__trie_get = 304
   110  )
   111  
   112  var (
   113      _pcsp__f64toa = [][2]uint32{
   114          {1, 0},
   115          {4, 8},
   116          {6, 16},
   117          {8, 24},
   118          {10, 32},
   119          {12, 40},
   120          {13, 48},
   121          {2788, 56},
   122          {2792, 48},
   123          {2793, 40},
   124          {2795, 32},
   125          {2797, 24},
   126          {2799, 16},
   127          {2801, 8},
   128          {2805, 0},
   129          {2843, 56},
   130      }
   131      _pcsp__format_significand = [][2]uint32{
   132          {1, 0},
   133          {4, 8},
   134          {6, 16},
   135          {452, 24},
   136          {453, 16},
   137          {455, 8},
   138          {457, 0},
   139      }
   140      _pcsp__format_integer = [][2]uint32{
   141          {1, 0},
   142          {4, 8},
   143          {412, 16},
   144          {413, 8},
   145          {414, 0},
   146          {423, 16},
   147          {424, 8},
   148          {426, 0},
   149      }
   150      _pcsp__hm_get = [][2]uint32{
   151          {1, 0},
   152          {4, 8},
   153          {387, 16},
   154          {388, 8},
   155          {390, 0},
   156          {450, 16},
   157          {451, 8},
   158          {452, 0},
   159          {458, 16},
   160          {459, 8},
   161          {461, 0},
   162      }
   163      _pcsp__i64toa = [][2]uint32{
   164          {14, 0},
   165          {34, 8},
   166          {36, 0},
   167      }
   168      _pcsp__u64toa = [][2]uint32{
   169          {1, 0},
   170          {161, 8},
   171          {162, 0},
   172          {457, 8},
   173          {458, 0},
   174          {758, 8},
   175          {759, 0},
   176          {1225, 8},
   177          {1227, 0},
   178      }
   179      _pcsp__j2t_fsm_exec = [][2]uint32{
   180          {1, 0},
   181          {4, 8},
   182          {6, 16},
   183          {8, 24},
   184          {10, 32},
   185          {12, 40},
   186          {13, 48},
   187          {6408, 280},
   188          {6415, 48},
   189          {6416, 40},
   190          {6418, 32},
   191          {6420, 24},
   192          {6422, 16},
   193          {6424, 8},
   194          {6428, 0},
   195          {7700, 280},
   196      }
   197      _pcsp__advance_ns = [][2]uint32{
   198          {1, 0},
   199          {4, 8},
   200          {6, 16},
   201          {8, 24},
   202          {793, 32},
   203          {794, 24},
   204          {796, 16},
   205          {798, 8},
   206          {799, 0},
   207          {831, 32},
   208      }
   209      _pcsp__fsm_exec = [][2]uint32{
   210          {1, 0},
   211          {4, 8},
   212          {6, 16},
   213          {8, 24},
   214          {10, 32},
   215          {12, 40},
   216          {13, 48},
   217          {1190, 88},
   218          {1194, 48},
   219          {1195, 40},
   220          {1197, 32},
   221          {1199, 24},
   222          {1201, 16},
   223          {1203, 8},
   224          {1204, 0},
   225          {1416, 88},
   226      }
   227      _pcsp__validate_string = [][2]uint32{
   228          {1, 0},
   229          {4, 8},
   230          {6, 16},
   231          {8, 24},
   232          {10, 32},
   233          {12, 40},
   234          {13, 48},
   235          {521, 88},
   236          {525, 48},
   237          {526, 40},
   238          {528, 32},
   239          {530, 24},
   240          {532, 16},
   241          {534, 8},
   242          {538, 0},
   243          {1139, 88},
   244      }
   245      _pcsp__utf8_validate = [][2]uint32{
   246          {1, 0},
   247          {4, 8},
   248          {6, 16},
   249          {8, 24},
   250          {481, 32},
   251          {482, 24},
   252          {484, 16},
   253          {486, 8},
   254          {492, 0},
   255      }
   256      _pcsp__advance_string = [][2]uint32{
   257          {1, 0},
   258          {4, 8},
   259          {6, 16},
   260          {8, 24},
   261          {10, 32},
   262          {12, 40},
   263          {332, 48},
   264          {333, 40},
   265          {335, 32},
   266          {337, 24},
   267          {339, 16},
   268          {341, 8},
   269          {345, 0},
   270          {757, 48},
   271      }
   272      _pcsp__skip_number = [][2]uint32{
   273          {1, 0},
   274          {4, 8},
   275          {6, 16},
   276          {8, 24},
   277          {10, 32},
   278          {12, 40},
   279          {1274, 48},
   280          {1275, 40},
   281          {1277, 32},
   282          {1279, 24},
   283          {1281, 16},
   284          {1283, 8},
   285          {1287, 0},
   286          {1360, 48},
   287      }
   288      _pcsp__j2t_number = [][2]uint32{
   289          {1, 0},
   290          {4, 8},
   291          {6, 16},
   292          {8, 24},
   293          {10, 32},
   294          {12, 40},
   295          {13, 48},
   296          {531, 56},
   297          {535, 48},
   298          {536, 40},
   299          {538, 32},
   300          {540, 24},
   301          {542, 16},
   302          {544, 8},
   303          {548, 0},
   304      }
   305      _pcsp__vnumber = [][2]uint32{
   306          {1, 0},
   307          {4, 8},
   308          {6, 16},
   309          {8, 24},
   310          {10, 32},
   311          {12, 40},
   312          {13, 48},
   313          {787, 104},
   314          {791, 48},
   315          {792, 40},
   316          {794, 32},
   317          {796, 24},
   318          {798, 16},
   319          {800, 8},
   320          {801, 0},
   321          {1531, 104},
   322      }
   323      _pcsp__atof_eisel_lemire64 = [][2]uint32{
   324          {1, 0},
   325          {4, 8},
   326          {6, 16},
   327          {8, 24},
   328          {292, 32},
   329          {293, 24},
   330          {295, 16},
   331          {297, 8},
   332          {298, 0},
   333          {362, 32},
   334      }
   335      _pcsp__atof_native = [][2]uint32{
   336          {1, 0},
   337          {4, 8},
   338          {587, 56},
   339          {591, 8},
   340          {593, 0},
   341      }
   342      _pcsp__decimal_to_f64 = [][2]uint32{
   343          {1, 0},
   344          {4, 8},
   345          {6, 16},
   346          {8, 24},
   347          {10, 32},
   348          {12, 40},
   349          {13, 48},
   350          {1673, 56},
   351          {1677, 48},
   352          {1678, 40},
   353          {1680, 32},
   354          {1682, 24},
   355          {1684, 16},
   356          {1686, 8},
   357          {1690, 0},
   358          {1702, 56},
   359      }
   360      _pcsp__right_shift = [][2]uint32{
   361          {1, 0},
   362          {318, 8},
   363          {319, 0},
   364          {387, 8},
   365          {388, 0},
   366          {396, 8},
   367          {398, 0},
   368      }
   369      _pcsp__left_shift = [][2]uint32{
   370          {1, 0},
   371          {4, 8},
   372          {6, 16},
   373          {363, 24},
   374          {364, 16},
   375          {366, 8},
   376          {367, 0},
   377          {470, 24},
   378          {471, 16},
   379          {473, 8},
   380          {474, 0},
   381          {486, 24},
   382      }
   383      _pcsp__j2t_string = [][2]uint32{
   384          {1, 0},
   385          {4, 8},
   386          {6, 16},
   387          {8, 24},
   388          {10, 32},
   389          {12, 40},
   390          {13, 48},
   391          {638, 72},
   392          {642, 48},
   393          {643, 40},
   394          {645, 32},
   395          {647, 24},
   396          {649, 16},
   397          {651, 8},
   398          {655, 0},
   399          {834, 72},
   400      }
   401      _pcsp__unquote = [][2]uint32{
   402          {1, 0},
   403          {4, 8},
   404          {6, 16},
   405          {8, 24},
   406          {10, 32},
   407          {12, 40},
   408          {13, 48},
   409          {79, 72},
   410          {83, 48},
   411          {84, 40},
   412          {86, 32},
   413          {88, 24},
   414          {90, 16},
   415          {92, 8},
   416          {96, 0},
   417          {2464, 72},
   418      }
   419      _pcsp__b64decode = [][2]uint32{
   420          {1, 0},
   421          {4, 8},
   422          {6, 16},
   423          {8, 24},
   424          {10, 32},
   425          {12, 40},
   426          {13, 48},
   427          {3408, 152},
   428          {3412, 48},
   429          {3413, 40},
   430          {3415, 32},
   431          {3417, 24},
   432          {3419, 16},
   433          {3421, 8},
   434          {3426, 0},
   435      }
   436      _pcsp__j2t_field_vm = [][2]uint32{
   437          {1, 0},
   438          {4, 8},
   439          {6, 16},
   440          {8, 24},
   441          {10, 32},
   442          {12, 40},
   443          {13, 48},
   444          {343, 72},
   445          {347, 48},
   446          {348, 40},
   447          {350, 32},
   448          {352, 24},
   449          {354, 16},
   450          {356, 8},
   451          {357, 0},
   452          {669, 72},
   453          {673, 48},
   454          {674, 40},
   455          {676, 32},
   456          {678, 24},
   457          {680, 16},
   458          {682, 8},
   459          {686, 0},
   460          {1632, 72},
   461      }
   462      _pcsp__tb_write_default_or_empty = [][2]uint32{
   463          {1, 0},
   464          {4, 8},
   465          {6, 16},
   466          {8, 24},
   467          {10, 32},
   468          {12, 40},
   469          {13, 48},
   470          {1011, 56},
   471          {1015, 48},
   472          {1016, 40},
   473          {1018, 32},
   474          {1020, 24},
   475          {1022, 16},
   476          {1024, 8},
   477          {1028, 0},
   478          {1092, 56},
   479      }
   480      _pcsp__j2t_write_unset_fields = [][2]uint32{
   481          {1, 0},
   482          {4, 8},
   483          {6, 16},
   484          {8, 24},
   485          {10, 32},
   486          {12, 40},
   487          {13, 48},
   488          {835, 120},
   489          {839, 48},
   490          {840, 40},
   491          {842, 32},
   492          {844, 24},
   493          {846, 16},
   494          {848, 8},
   495          {850, 0},
   496      }
   497      _pcsp__j2t_find_field_key = [][2]uint32{
   498          {1, 0},
   499          {4, 8},
   500          {6, 16},
   501          {8, 24},
   502          {721, 32},
   503          {722, 24},
   504          {724, 16},
   505          {726, 8},
   506          {727, 0},
   507          {738, 32},
   508      }
   509      _pcsp__quote = [][2]uint32{
   510          {1, 0},
   511          {4, 8},
   512          {6, 16},
   513          {8, 24},
   514          {10, 32},
   515          {12, 40},
   516          {13, 48},
   517          {2687, 56},
   518          {2691, 48},
   519          {2692, 40},
   520          {2694, 32},
   521          {2696, 24},
   522          {2698, 16},
   523          {2700, 8},
   524          {2704, 0},
   525          {2731, 56},
   526      }
   527      _pcsp__tb_skip = [][2]uint32{
   528          {1, 0},
   529          {4, 8},
   530          {6, 16},
   531          {8, 24},
   532          {10, 32},
   533          {12, 40},
   534          {944, 48},
   535          {945, 40},
   536          {947, 32},
   537          {949, 24},
   538          {951, 16},
   539          {953, 8},
   540          {954, 0},
   541          {968, 48},
   542      }
   543      _pcsp__tb_write_i64 = [][2]uint32{
   544          {1, 0},
   545          {33, 8},
   546          {34, 0},
   547          {51, 8},
   548          {53, 0},
   549      }
   550      _pcsp__trie_get = [][2]uint32{
   551          {1, 0},
   552          {4, 8},
   553          {6, 16},
   554          {8, 24},
   555          {286, 32},
   556          {287, 24},
   557          {289, 16},
   558          {291, 8},
   559          {293, 0},
   560      }
   561  )
   562  
   563  var Funcs = []loader.CFunc{
   564      {"__native_entry__", 0, 67, 0, nil},
   565      {"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
   566      {"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
   567      {"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
   568      {"_hm_get", _entry__hm_get, _size__hm_get, _stack__hm_get, _pcsp__hm_get},
   569      {"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
   570      {"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
   571      {"_j2t_fsm_exec", _entry__j2t_fsm_exec, _size__j2t_fsm_exec, _stack__j2t_fsm_exec, _pcsp__j2t_fsm_exec},
   572      {"_advance_ns", _entry__advance_ns, _size__advance_ns, _stack__advance_ns, _pcsp__advance_ns},
   573      {"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
   574      {"_validate_string", _entry__validate_string, _size__validate_string, _stack__validate_string, _pcsp__validate_string},
   575      {"_utf8_validate", _entry__utf8_validate, _size__utf8_validate, _stack__utf8_validate, _pcsp__utf8_validate},
   576      {"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
   577      {"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number},
   578      {"_j2t_number", _entry__j2t_number, _size__j2t_number, _stack__j2t_number, _pcsp__j2t_number},
   579      {"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber},
   580      {"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
   581      {"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
   582      {"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
   583      {"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
   584      {"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
   585      {"_j2t_string", _entry__j2t_string, _size__j2t_string, _stack__j2t_string, _pcsp__j2t_string},
   586      {"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote},
   587      {"_b64decode", _entry__b64decode, _size__b64decode, _stack__b64decode, _pcsp__b64decode},
   588      {"_j2t_field_vm", _entry__j2t_field_vm, _size__j2t_field_vm, _stack__j2t_field_vm, _pcsp__j2t_field_vm},
   589      {"_tb_write_default_or_empty", _entry__tb_write_default_or_empty, _size__tb_write_default_or_empty, _stack__tb_write_default_or_empty, _pcsp__tb_write_default_or_empty},
   590      {"_j2t_write_unset_fields", _entry__j2t_write_unset_fields, _size__j2t_write_unset_fields, _stack__j2t_write_unset_fields, _pcsp__j2t_write_unset_fields},
   591      {"_j2t_find_field_key", _entry__j2t_find_field_key, _size__j2t_find_field_key, _stack__j2t_find_field_key, _pcsp__j2t_find_field_key},
   592      {"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote},
   593      {"_tb_skip", _entry__tb_skip, _size__tb_skip, _stack__tb_skip, _pcsp__tb_skip},
   594      {"_tb_write_i64", _entry__tb_write_i64, _size__tb_write_i64, _stack__tb_write_i64, _pcsp__tb_write_i64},
   595      {"_trie_get", _entry__trie_get, _size__trie_get, _stack__trie_get, _pcsp__trie_get},
   596  }