github.com/goshafaq/sonic@v0.0.0-20231026082336-871835fb94c6/internal/native/avx/native_subr_amd64.go (about)

     1  //go:build !noasm || !appengine
     2  // +build !noasm !appengine
     3  
     4  // Code generated by asm2asm, DO NOT EDIT.
     5  
     6  package avx
     7  
     8  import (
     9  	"github.com/goshafaq/sonic/loader"
    10  )
    11  
    12  const (
    13  	_entry__f32toa                 = 31024
    14  	_entry__f64toa                 = 176
    15  	_entry__format_significand     = 35808
    16  	_entry__format_integer         = 3424
    17  	_entry__fsm_exec               = 18816
    18  	_entry__advance_string         = 15056
    19  	_entry__advance_string_default = 37344
    20  	_entry__do_skip_number         = 21376
    21  	_entry__get_by_path            = 26416
    22  	_entry__skip_one_fast          = 22880
    23  	_entry__unescape               = 38256
    24  	_entry__unhex16_is             = 9632
    25  	_entry__html_escape            = 9824
    26  	_entry__i64toa                 = 3856
    27  	_entry__u64toa                 = 4128
    28  	_entry__lspace                 = 16
    29  	_entry__quote                  = 5552
    30  	_entry__skip_array             = 18768
    31  	_entry__skip_number            = 22464
    32  	_entry__skip_object            = 21008
    33  	_entry__skip_one               = 22640
    34  	_entry__unquote                = 7296
    35  	_entry__validate_one           = 22704
    36  	_entry__validate_utf8          = 29728
    37  	_entry__validate_utf8_fast     = 30416
    38  	_entry__value                  = 13104
    39  	_entry__vnumber                = 16368
    40  	_entry__atof_eisel_lemire64    = 11104
    41  	_entry__atof_native            = 12496
    42  	_entry__decimal_to_f64         = 11504
    43  	_entry__left_shift             = 36288
    44  	_entry__right_shift            = 36832
    45  	_entry__vsigned                = 18016
    46  	_entry__vstring                = 14880
    47  	_entry__vunsigned              = 18384
    48  )
    49  
    50  const (
    51  	_stack__f32toa                 = 64
    52  	_stack__f64toa                 = 80
    53  	_stack__format_significand     = 24
    54  	_stack__format_integer         = 16
    55  	_stack__fsm_exec               = 160
    56  	_stack__advance_string         = 72
    57  	_stack__advance_string_default = 56
    58  	_stack__do_skip_number         = 32
    59  	_stack__get_by_path            = 280
    60  	_stack__skip_one_fast          = 176
    61  	_stack__unescape               = 64
    62  	_stack__unhex16_is             = 8
    63  	_stack__html_escape            = 64
    64  	_stack__i64toa                 = 16
    65  	_stack__u64toa                 = 8
    66  	_stack__lspace                 = 8
    67  	_stack__quote                  = 80
    68  	_stack__skip_array             = 168
    69  	_stack__skip_number            = 88
    70  	_stack__skip_object            = 168
    71  	_stack__skip_one               = 168
    72  	_stack__unquote                = 112
    73  	_stack__validate_one           = 168
    74  	_stack__validate_utf8          = 48
    75  	_stack__validate_utf8_fast     = 24
    76  	_stack__value                  = 352
    77  	_stack__vnumber                = 264
    78  	_stack__atof_eisel_lemire64    = 40
    79  	_stack__atof_native            = 144
    80  	_stack__decimal_to_f64         = 88
    81  	_stack__left_shift             = 32
    82  	_stack__right_shift            = 16
    83  	_stack__vsigned                = 16
    84  	_stack__vstring                = 128
    85  	_stack__vunsigned              = 24
    86  )
    87  
    88  const (
    89  	_size__f32toa                 = 3792
    90  	_size__f64toa                 = 3248
    91  	_size__format_significand     = 480
    92  	_size__format_integer         = 432
    93  	_size__fsm_exec               = 1656
    94  	_size__advance_string         = 1264
    95  	_size__advance_string_default = 912
    96  	_size__do_skip_number         = 876
    97  	_size__get_by_path            = 3312
    98  	_size__skip_one_fast          = 3016
    99  	_size__unescape               = 704
   100  	_size__unhex16_is             = 128
   101  	_size__html_escape            = 1280
   102  	_size__i64toa                 = 272
   103  	_size__u64toa                 = 1376
   104  	_size__lspace                 = 112
   105  	_size__quote                  = 1728
   106  	_size__skip_array             = 48
   107  	_size__skip_number            = 160
   108  	_size__skip_object            = 48
   109  	_size__skip_one               = 48
   110  	_size__unquote                = 2336
   111  	_size__validate_one           = 48
   112  	_size__validate_utf8          = 688
   113  	_size__validate_utf8_fast     = 560
   114  	_size__value                  = 1268
   115  	_size__vnumber                = 1648
   116  	_size__atof_eisel_lemire64    = 400
   117  	_size__atof_native            = 608
   118  	_size__decimal_to_f64         = 992
   119  	_size__left_shift             = 544
   120  	_size__right_shift            = 480
   121  	_size__vsigned                = 368
   122  	_size__vstring                = 128
   123  	_size__vunsigned              = 368
   124  )
   125  
   126  var (
   127  	_pcsp__f32toa = [][2]uint32{
   128  		{1, 0},
   129  		{4, 8},
   130  		{6, 16},
   131  		{8, 24},
   132  		{10, 32},
   133  		{12, 40},
   134  		{13, 48},
   135  		{3734, 64},
   136  		{3738, 48},
   137  		{3739, 40},
   138  		{3741, 32},
   139  		{3743, 24},
   140  		{3745, 16},
   141  		{3747, 8},
   142  		{3751, 0},
   143  		{3781, 64},
   144  	}
   145  	_pcsp__f64toa = [][2]uint32{
   146  		{1, 0},
   147  		{4, 8},
   148  		{6, 16},
   149  		{8, 24},
   150  		{10, 32},
   151  		{12, 40},
   152  		{13, 48},
   153  		{3124, 56},
   154  		{3128, 48},
   155  		{3129, 40},
   156  		{3131, 32},
   157  		{3133, 24},
   158  		{3135, 16},
   159  		{3137, 8},
   160  		{3141, 0},
   161  		{3234, 56},
   162  	}
   163  	_pcsp__format_significand = [][2]uint32{
   164  		{1, 0},
   165  		{4, 8},
   166  		{6, 16},
   167  		{468, 24},
   168  		{469, 16},
   169  		{471, 8},
   170  		{473, 0},
   171  	}
   172  	_pcsp__format_integer = [][2]uint32{
   173  		{1, 0},
   174  		{4, 8},
   175  		{412, 16},
   176  		{413, 8},
   177  		{414, 0},
   178  		{423, 16},
   179  		{424, 8},
   180  		{426, 0},
   181  	}
   182  	_pcsp__fsm_exec = [][2]uint32{
   183  		{1, 0},
   184  		{4, 8},
   185  		{6, 16},
   186  		{8, 24},
   187  		{10, 32},
   188  		{12, 40},
   189  		{13, 48},
   190  		{1317, 88},
   191  		{1321, 48},
   192  		{1322, 40},
   193  		{1324, 32},
   194  		{1326, 24},
   195  		{1328, 16},
   196  		{1330, 8},
   197  		{1331, 0},
   198  		{1656, 88},
   199  	}
   200  	_pcsp__advance_string = [][2]uint32{
   201  		{14, 0},
   202  		{18, 8},
   203  		{20, 16},
   204  		{22, 24},
   205  		{24, 32},
   206  		{26, 40},
   207  		{27, 48},
   208  		{529, 72},
   209  		{533, 48},
   210  		{534, 40},
   211  		{536, 32},
   212  		{538, 24},
   213  		{540, 16},
   214  		{542, 8},
   215  		{543, 0},
   216  		{1253, 72},
   217  	}
   218  	_pcsp__advance_string_default = [][2]uint32{
   219  		{1, 0},
   220  		{4, 8},
   221  		{6, 16},
   222  		{8, 24},
   223  		{10, 32},
   224  		{12, 40},
   225  		{13, 48},
   226  		{381, 56},
   227  		{385, 48},
   228  		{386, 40},
   229  		{388, 32},
   230  		{390, 24},
   231  		{392, 16},
   232  		{394, 8},
   233  		{395, 0},
   234  		{911, 56},
   235  	}
   236  	_pcsp__do_skip_number = [][2]uint32{
   237  		{1, 0},
   238  		{4, 8},
   239  		{6, 16},
   240  		{8, 24},
   241  		{739, 32},
   242  		{740, 24},
   243  		{742, 16},
   244  		{744, 8},
   245  		{745, 0},
   246  		{876, 32},
   247  	}
   248  	_pcsp__get_by_path = [][2]uint32{
   249  		{1, 0},
   250  		{4, 8},
   251  		{6, 16},
   252  		{8, 24},
   253  		{10, 32},
   254  		{12, 40},
   255  		{13, 48},
   256  		{3262, 104},
   257  		{3266, 48},
   258  		{3267, 40},
   259  		{3269, 32},
   260  		{3271, 24},
   261  		{3273, 16},
   262  		{3275, 8},
   263  		{3276, 0},
   264  		{3301, 104},
   265  	}
   266  	_pcsp__skip_one_fast = [][2]uint32{
   267  		{1, 0},
   268  		{4, 8},
   269  		{6, 16},
   270  		{8, 24},
   271  		{10, 32},
   272  		{12, 40},
   273  		{13, 48},
   274  		{613, 176},
   275  		{614, 168},
   276  		{616, 160},
   277  		{618, 152},
   278  		{620, 144},
   279  		{622, 136},
   280  		{626, 128},
   281  		{3016, 176},
   282  	}
   283  	_pcsp__unescape = [][2]uint32{
   284  		{1, 0},
   285  		{4, 8},
   286  		{6, 16},
   287  		{8, 24},
   288  		{10, 32},
   289  		{12, 40},
   290  		{13, 48},
   291  		{246, 56},
   292  		{250, 48},
   293  		{251, 40},
   294  		{253, 32},
   295  		{255, 24},
   296  		{257, 16},
   297  		{259, 8},
   298  		{260, 0},
   299  		{695, 56},
   300  	}
   301  	_pcsp__unhex16_is = [][2]uint32{
   302  		{1, 0},
   303  		{35, 8},
   304  		{36, 0},
   305  		{62, 8},
   306  		{63, 0},
   307  		{97, 8},
   308  		{98, 0},
   309  		{121, 8},
   310  		{123, 0},
   311  	}
   312  	_pcsp__html_escape = [][2]uint32{
   313  		{1, 0},
   314  		{4, 8},
   315  		{6, 16},
   316  		{8, 24},
   317  		{10, 32},
   318  		{12, 40},
   319  		{13, 48},
   320  		{1265, 64},
   321  		{1269, 48},
   322  		{1270, 40},
   323  		{1272, 32},
   324  		{1274, 24},
   325  		{1276, 16},
   326  		{1278, 8},
   327  		{1280, 0},
   328  	}
   329  	_pcsp__i64toa = [][2]uint32{
   330  		{1, 0},
   331  		{171, 8},
   332  		{172, 0},
   333  		{207, 8},
   334  		{208, 0},
   335  		{222, 8},
   336  		{223, 0},
   337  		{247, 8},
   338  		{248, 0},
   339  		{253, 8},
   340  		{259, 0},
   341  	}
   342  	_pcsp__u64toa = [][2]uint32{
   343  		{13, 0},
   344  		{162, 8},
   345  		{163, 0},
   346  		{175, 8},
   347  		{240, 0},
   348  		{498, 8},
   349  		{499, 0},
   350  		{519, 8},
   351  		{592, 0},
   352  		{850, 8},
   353  		{928, 0},
   354  		{1374, 8},
   355  		{1376, 0},
   356  	}
   357  	_pcsp__lspace = [][2]uint32{
   358  		{1, 0},
   359  		{85, 8},
   360  		{87, 0},
   361  	}
   362  	_pcsp__quote = [][2]uint32{
   363  		{1, 0},
   364  		{4, 8},
   365  		{6, 16},
   366  		{8, 24},
   367  		{10, 32},
   368  		{12, 40},
   369  		{13, 48},
   370  		{1669, 80},
   371  		{1673, 48},
   372  		{1674, 40},
   373  		{1676, 32},
   374  		{1678, 24},
   375  		{1680, 16},
   376  		{1682, 8},
   377  		{1683, 0},
   378  		{1718, 80},
   379  	}
   380  	_pcsp__skip_array = [][2]uint32{
   381  		{1, 0},
   382  		{28, 8},
   383  		{34, 0},
   384  	}
   385  	_pcsp__skip_number = [][2]uint32{
   386  		{1, 0},
   387  		{4, 8},
   388  		{6, 16},
   389  		{8, 24},
   390  		{10, 32},
   391  		{12, 40},
   392  		{13, 48},
   393  		{107, 56},
   394  		{111, 48},
   395  		{112, 40},
   396  		{114, 32},
   397  		{116, 24},
   398  		{118, 16},
   399  		{120, 8},
   400  		{121, 0},
   401  		{145, 56},
   402  	}
   403  	_pcsp__skip_object = [][2]uint32{
   404  		{1, 0},
   405  		{28, 8},
   406  		{34, 0},
   407  	}
   408  	_pcsp__skip_one = [][2]uint32{
   409  		{1, 0},
   410  		{28, 8},
   411  		{34, 0},
   412  	}
   413  	_pcsp__unquote = [][2]uint32{
   414  		{1, 0},
   415  		{4, 8},
   416  		{6, 16},
   417  		{8, 24},
   418  		{10, 32},
   419  		{12, 40},
   420  		{13, 48},
   421  		{1614, 104},
   422  		{1618, 48},
   423  		{1619, 40},
   424  		{1621, 32},
   425  		{1623, 24},
   426  		{1625, 16},
   427  		{1627, 8},
   428  		{1628, 0},
   429  		{2329, 104},
   430  	}
   431  	_pcsp__validate_one = [][2]uint32{
   432  		{1, 0},
   433  		{33, 8},
   434  		{39, 0},
   435  	}
   436  	_pcsp__validate_utf8 = [][2]uint32{
   437  		{1, 0},
   438  		{4, 8},
   439  		{6, 16},
   440  		{8, 24},
   441  		{10, 32},
   442  		{11, 40},
   443  		{639, 48},
   444  		{643, 40},
   445  		{644, 32},
   446  		{646, 24},
   447  		{648, 16},
   448  		{650, 8},
   449  		{651, 0},
   450  		{682, 48},
   451  	}
   452  	_pcsp__validate_utf8_fast = [][2]uint32{
   453  		{1, 0},
   454  		{4, 8},
   455  		{5, 16},
   456  		{247, 24},
   457  		{251, 16},
   458  		{252, 8},
   459  		{253, 0},
   460  		{527, 24},
   461  		{531, 16},
   462  		{532, 8},
   463  		{534, 0},
   464  	}
   465  	_pcsp__value = [][2]uint32{
   466  		{1, 0},
   467  		{4, 8},
   468  		{6, 16},
   469  		{8, 24},
   470  		{10, 32},
   471  		{12, 40},
   472  		{13, 48},
   473  		{439, 88},
   474  		{443, 48},
   475  		{444, 40},
   476  		{446, 32},
   477  		{448, 24},
   478  		{450, 16},
   479  		{452, 8},
   480  		{453, 0},
   481  		{1268, 88},
   482  	}
   483  	_pcsp__vnumber = [][2]uint32{
   484  		{1, 0},
   485  		{4, 8},
   486  		{6, 16},
   487  		{8, 24},
   488  		{10, 32},
   489  		{12, 40},
   490  		{13, 48},
   491  		{150, 120},
   492  		{154, 48},
   493  		{155, 40},
   494  		{157, 32},
   495  		{159, 24},
   496  		{161, 16},
   497  		{163, 8},
   498  		{164, 0},
   499  		{1638, 120},
   500  	}
   501  	_pcsp__atof_eisel_lemire64 = [][2]uint32{
   502  		{1, 0},
   503  		{4, 8},
   504  		{6, 16},
   505  		{8, 24},
   506  		{10, 32},
   507  		{315, 40},
   508  		{316, 32},
   509  		{318, 24},
   510  		{320, 16},
   511  		{322, 8},
   512  		{323, 0},
   513  		{387, 40},
   514  	}
   515  	_pcsp__atof_native = [][2]uint32{
   516  		{1, 0},
   517  		{4, 8},
   518  		{596, 56},
   519  		{600, 8},
   520  		{602, 0},
   521  	}
   522  	_pcsp__decimal_to_f64 = [][2]uint32{
   523  		{1, 0},
   524  		{4, 8},
   525  		{6, 16},
   526  		{8, 24},
   527  		{10, 32},
   528  		{12, 40},
   529  		{13, 48},
   530  		{951, 56},
   531  		{955, 48},
   532  		{956, 40},
   533  		{958, 32},
   534  		{960, 24},
   535  		{962, 16},
   536  		{964, 8},
   537  		{965, 0},
   538  		{977, 56},
   539  	}
   540  	_pcsp__left_shift = [][2]uint32{
   541  		{1, 0},
   542  		{4, 8},
   543  		{6, 16},
   544  		{8, 24},
   545  		{418, 32},
   546  		{419, 24},
   547  		{421, 16},
   548  		{423, 8},
   549  		{424, 0},
   550  		{539, 32},
   551  	}
   552  	_pcsp__right_shift = [][2]uint32{
   553  		{1, 0},
   554  		{4, 8},
   555  		{452, 16},
   556  		{453, 8},
   557  		{454, 0},
   558  		{462, 16},
   559  		{463, 8},
   560  		{464, 0},
   561  		{472, 16},
   562  		{473, 8},
   563  		{475, 0},
   564  	}
   565  	_pcsp__vsigned = [][2]uint32{
   566  		{1, 0},
   567  		{4, 8},
   568  		{113, 16},
   569  		{114, 8},
   570  		{115, 0},
   571  		{126, 16},
   572  		{127, 8},
   573  		{128, 0},
   574  		{278, 16},
   575  		{279, 8},
   576  		{280, 0},
   577  		{284, 16},
   578  		{285, 8},
   579  		{286, 0},
   580  		{340, 16},
   581  		{341, 8},
   582  		{342, 0},
   583  		{353, 16},
   584  		{354, 8},
   585  		{356, 0},
   586  	}
   587  	_pcsp__vstring = [][2]uint32{
   588  		{1, 0},
   589  		{4, 8},
   590  		{6, 16},
   591  		{8, 24},
   592  		{10, 32},
   593  		{11, 40},
   594  		{105, 56},
   595  		{109, 40},
   596  		{110, 32},
   597  		{112, 24},
   598  		{114, 16},
   599  		{116, 8},
   600  		{118, 0},
   601  	}
   602  	_pcsp__vunsigned = [][2]uint32{
   603  		{1, 0},
   604  		{4, 8},
   605  		{6, 16},
   606  		{74, 24},
   607  		{75, 16},
   608  		{77, 8},
   609  		{78, 0},
   610  		{89, 24},
   611  		{90, 16},
   612  		{92, 8},
   613  		{93, 0},
   614  		{116, 24},
   615  		{117, 16},
   616  		{119, 8},
   617  		{120, 0},
   618  		{281, 24},
   619  		{282, 16},
   620  		{284, 8},
   621  		{285, 0},
   622  		{336, 24},
   623  		{337, 16},
   624  		{339, 8},
   625  		{340, 0},
   626  		{348, 24},
   627  		{349, 16},
   628  		{351, 8},
   629  		{353, 0},
   630  	}
   631  )
   632  
   633  var Funcs = []loader.CFunc{
   634  	{"__native_entry__", 0, 67, 0, nil},
   635  	{"_f32toa", _entry__f32toa, _size__f32toa, _stack__f32toa, _pcsp__f32toa},
   636  	{"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
   637  	{"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
   638  	{"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
   639  	{"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
   640  	{"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
   641  	{"_advance_string_default", _entry__advance_string_default, _size__advance_string_default, _stack__advance_string_default, _pcsp__advance_string_default},
   642  	{"_do_skip_number", _entry__do_skip_number, _size__do_skip_number, _stack__do_skip_number, _pcsp__do_skip_number},
   643  	{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
   644  	{"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast},
   645  	{"_unescape", _entry__unescape, _size__unescape, _stack__unescape, _pcsp__unescape},
   646  	{"_unhex16_is", _entry__unhex16_is, _size__unhex16_is, _stack__unhex16_is, _pcsp__unhex16_is},
   647  	{"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape},
   648  	{"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
   649  	{"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
   650  	{"_lspace", _entry__lspace, _size__lspace, _stack__lspace, _pcsp__lspace},
   651  	{"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote},
   652  	{"_skip_array", _entry__skip_array, _size__skip_array, _stack__skip_array, _pcsp__skip_array},
   653  	{"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number},
   654  	{"_skip_object", _entry__skip_object, _size__skip_object, _stack__skip_object, _pcsp__skip_object},
   655  	{"_skip_one", _entry__skip_one, _size__skip_one, _stack__skip_one, _pcsp__skip_one},
   656  	{"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote},
   657  	{"_validate_one", _entry__validate_one, _size__validate_one, _stack__validate_one, _pcsp__validate_one},
   658  	{"_validate_utf8", _entry__validate_utf8, _size__validate_utf8, _stack__validate_utf8, _pcsp__validate_utf8},
   659  	{"_validate_utf8_fast", _entry__validate_utf8_fast, _size__validate_utf8_fast, _stack__validate_utf8_fast, _pcsp__validate_utf8_fast},
   660  	{"_value", _entry__value, _size__value, _stack__value, _pcsp__value},
   661  	{"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber},
   662  	{"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
   663  	{"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
   664  	{"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
   665  	{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
   666  	{"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
   667  	{"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned},
   668  	{"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring},
   669  	{"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned},
   670  }