github.com/goshafaq/sonic@v0.0.0-20231026082336-871835fb94c6/internal/native/avx2/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 avx2
     7  
     8  import (
     9  	"github.com/goshafaq/sonic/loader"
    10  )
    11  
    12  const (
    13  	_entry__f32toa                 = 34640
    14  	_entry__f64toa                 = 368
    15  	_entry__format_significand     = 39440
    16  	_entry__format_integer         = 3616
    17  	_entry__fsm_exec               = 22128
    18  	_entry__advance_ns             = 17856
    19  	_entry__advance_string         = 18592
    20  	_entry__advance_string_default = 41024
    21  	_entry__do_skip_number         = 24624
    22  	_entry__get_by_path            = 29616
    23  	_entry__skip_one_fast          = 26736
    24  	_entry__unescape               = 41824
    25  	_entry__unhex16_is             = 11376
    26  	_entry__html_escape            = 11712
    27  	_entry__i64toa                 = 4048
    28  	_entry__u64toa                 = 4320
    29  	_entry__lspace                 = 64
    30  	_entry__quote                  = 5872
    31  	_entry__skip_array             = 22080
    32  	_entry__skip_number            = 26128
    33  	_entry__skip_object            = 24048
    34  	_entry__skip_one               = 26304
    35  	_entry__unquote                = 8816
    36  	_entry__validate_one           = 26368
    37  	_entry__validate_utf8          = 30960
    38  	_entry__validate_utf8_fast     = 31920
    39  	_entry__value                  = 16320
    40  	_entry__vnumber                = 19680
    41  	_entry__atof_eisel_lemire64    = 13760
    42  	_entry__atof_native            = 15712
    43  	_entry__decimal_to_f64         = 14240
    44  	_entry__left_shift             = 39920
    45  	_entry__right_shift            = 40464
    46  	_entry__vsigned                = 21328
    47  	_entry__vstring                = 18352
    48  	_entry__vunsigned              = 21696
    49  )
    50  
    51  const (
    52  	_stack__f32toa                 = 64
    53  	_stack__f64toa                 = 80
    54  	_stack__format_significand     = 24
    55  	_stack__format_integer         = 16
    56  	_stack__fsm_exec               = 136
    57  	_stack__advance_ns             = 8
    58  	_stack__advance_string         = 48
    59  	_stack__advance_string_default = 48
    60  	_stack__do_skip_number         = 40
    61  	_stack__get_by_path            = 304
    62  	_stack__skip_one_fast          = 184
    63  	_stack__unescape               = 64
    64  	_stack__unhex16_is             = 8
    65  	_stack__html_escape            = 72
    66  	_stack__i64toa                 = 16
    67  	_stack__u64toa                 = 8
    68  	_stack__lspace                 = 8
    69  	_stack__quote                  = 72
    70  	_stack__skip_array             = 144
    71  	_stack__skip_number            = 96
    72  	_stack__skip_object            = 144
    73  	_stack__skip_one               = 144
    74  	_stack__unquote                = 112
    75  	_stack__validate_one           = 144
    76  	_stack__validate_utf8          = 48
    77  	_stack__validate_utf8_fast     = 176
    78  	_stack__value                  = 352
    79  	_stack__vnumber                = 264
    80  	_stack__atof_eisel_lemire64    = 40
    81  	_stack__atof_native            = 144
    82  	_stack__decimal_to_f64         = 88
    83  	_stack__left_shift             = 32
    84  	_stack__right_shift            = 16
    85  	_stack__vsigned                = 16
    86  	_stack__vstring                = 104
    87  	_stack__vunsigned              = 24
    88  )
    89  
    90  const (
    91  	_size__f32toa                 = 3792
    92  	_size__f64toa                 = 3248
    93  	_size__format_significand     = 480
    94  	_size__format_integer         = 432
    95  	_size__fsm_exec               = 1380
    96  	_size__advance_ns             = 496
    97  	_size__advance_string         = 1040
    98  	_size__advance_string_default = 800
    99  	_size__do_skip_number         = 1300
   100  	_size__get_by_path            = 1344
   101  	_size__skip_one_fast          = 2360
   102  	_size__unescape               = 704
   103  	_size__unhex16_is             = 144
   104  	_size__html_escape            = 2048
   105  	_size__i64toa                 = 272
   106  	_size__u64toa                 = 1408
   107  	_size__lspace                 = 256
   108  	_size__quote                  = 2896
   109  	_size__skip_array             = 48
   110  	_size__skip_number            = 160
   111  	_size__skip_object            = 48
   112  	_size__skip_one               = 48
   113  	_size__unquote                = 2560
   114  	_size__validate_one           = 64
   115  	_size__validate_utf8          = 688
   116  	_size__validate_utf8_fast     = 2672
   117  	_size__value                  = 992
   118  	_size__vnumber                = 1648
   119  	_size__atof_eisel_lemire64    = 416
   120  	_size__atof_native            = 608
   121  	_size__decimal_to_f64         = 1472
   122  	_size__left_shift             = 544
   123  	_size__right_shift            = 496
   124  	_size__vsigned                = 368
   125  	_size__vstring                = 144
   126  	_size__vunsigned              = 368
   127  )
   128  
   129  var (
   130  	_pcsp__f32toa = [][2]uint32{
   131  		{1, 0},
   132  		{4, 8},
   133  		{6, 16},
   134  		{8, 24},
   135  		{10, 32},
   136  		{12, 40},
   137  		{13, 48},
   138  		{3734, 64},
   139  		{3738, 48},
   140  		{3739, 40},
   141  		{3741, 32},
   142  		{3743, 24},
   143  		{3745, 16},
   144  		{3747, 8},
   145  		{3751, 0},
   146  		{3781, 64},
   147  	}
   148  	_pcsp__f64toa = [][2]uint32{
   149  		{1, 0},
   150  		{4, 8},
   151  		{6, 16},
   152  		{8, 24},
   153  		{10, 32},
   154  		{12, 40},
   155  		{13, 48},
   156  		{3124, 56},
   157  		{3128, 48},
   158  		{3129, 40},
   159  		{3131, 32},
   160  		{3133, 24},
   161  		{3135, 16},
   162  		{3137, 8},
   163  		{3141, 0},
   164  		{3234, 56},
   165  	}
   166  	_pcsp__format_significand = [][2]uint32{
   167  		{1, 0},
   168  		{4, 8},
   169  		{6, 16},
   170  		{468, 24},
   171  		{469, 16},
   172  		{471, 8},
   173  		{473, 0},
   174  	}
   175  	_pcsp__format_integer = [][2]uint32{
   176  		{1, 0},
   177  		{4, 8},
   178  		{412, 16},
   179  		{413, 8},
   180  		{414, 0},
   181  		{423, 16},
   182  		{424, 8},
   183  		{426, 0},
   184  	}
   185  	_pcsp__fsm_exec = [][2]uint32{
   186  		{1, 0},
   187  		{4, 8},
   188  		{6, 16},
   189  		{8, 24},
   190  		{10, 32},
   191  		{12, 40},
   192  		{13, 48},
   193  		{1017, 88},
   194  		{1021, 48},
   195  		{1022, 40},
   196  		{1024, 32},
   197  		{1026, 24},
   198  		{1028, 16},
   199  		{1030, 8},
   200  		{1031, 0},
   201  		{1380, 88},
   202  	}
   203  	_pcsp__advance_ns = [][2]uint32{
   204  		{1, 0},
   205  		{442, 8},
   206  		{446, 0},
   207  		{467, 8},
   208  		{471, 0},
   209  		{489, 8},
   210  	}
   211  	_pcsp__advance_string = [][2]uint32{
   212  		{14, 0},
   213  		{18, 8},
   214  		{20, 16},
   215  		{22, 24},
   216  		{24, 32},
   217  		{26, 40},
   218  		{396, 48},
   219  		{397, 40},
   220  		{399, 32},
   221  		{401, 24},
   222  		{403, 16},
   223  		{405, 8},
   224  		{409, 0},
   225  		{1031, 48},
   226  	}
   227  	_pcsp__advance_string_default = [][2]uint32{
   228  		{1, 0},
   229  		{4, 8},
   230  		{6, 16},
   231  		{8, 24},
   232  		{10, 32},
   233  		{12, 40},
   234  		{314, 48},
   235  		{315, 40},
   236  		{317, 32},
   237  		{319, 24},
   238  		{321, 16},
   239  		{323, 8},
   240  		{327, 0},
   241  		{786, 48},
   242  	}
   243  	_pcsp__do_skip_number = [][2]uint32{
   244  		{1, 0},
   245  		{4, 8},
   246  		{6, 16},
   247  		{8, 24},
   248  		{10, 32},
   249  		{1253, 40},
   250  		{1254, 32},
   251  		{1256, 24},
   252  		{1258, 16},
   253  		{1260, 8},
   254  		{1264, 0},
   255  		{1300, 40},
   256  	}
   257  	_pcsp__get_by_path = [][2]uint32{
   258  		{1, 0},
   259  		{4, 8},
   260  		{6, 16},
   261  		{8, 24},
   262  		{10, 32},
   263  		{12, 40},
   264  		{13, 48},
   265  		{1293, 120},
   266  		{1297, 48},
   267  		{1298, 40},
   268  		{1300, 32},
   269  		{1302, 24},
   270  		{1304, 16},
   271  		{1306, 8},
   272  		{1307, 0},
   273  		{1344, 120},
   274  	}
   275  	_pcsp__skip_one_fast = [][2]uint32{
   276  		{1, 0},
   277  		{4, 8},
   278  		{6, 16},
   279  		{8, 24},
   280  		{10, 32},
   281  		{12, 40},
   282  		{13, 48},
   283  		{396, 176},
   284  		{397, 168},
   285  		{399, 160},
   286  		{401, 152},
   287  		{403, 144},
   288  		{405, 136},
   289  		{409, 128},
   290  		{2360, 176},
   291  	}
   292  	_pcsp__unescape = [][2]uint32{
   293  		{1, 0},
   294  		{4, 8},
   295  		{6, 16},
   296  		{8, 24},
   297  		{10, 32},
   298  		{12, 40},
   299  		{13, 48},
   300  		{246, 56},
   301  		{250, 48},
   302  		{251, 40},
   303  		{253, 32},
   304  		{255, 24},
   305  		{257, 16},
   306  		{259, 8},
   307  		{260, 0},
   308  		{695, 56},
   309  	}
   310  	_pcsp__unhex16_is = [][2]uint32{
   311  		{1, 0},
   312  		{35, 8},
   313  		{36, 0},
   314  		{62, 8},
   315  		{63, 0},
   316  		{97, 8},
   317  		{98, 0},
   318  		{121, 8},
   319  		{123, 0},
   320  	}
   321  	_pcsp__html_escape = [][2]uint32{
   322  		{1, 0},
   323  		{4, 8},
   324  		{6, 16},
   325  		{8, 24},
   326  		{10, 32},
   327  		{12, 40},
   328  		{13, 48},
   329  		{2017, 72},
   330  		{2021, 48},
   331  		{2022, 40},
   332  		{2024, 32},
   333  		{2026, 24},
   334  		{2028, 16},
   335  		{2030, 8},
   336  		{2035, 0},
   337  	}
   338  	_pcsp__i64toa = [][2]uint32{
   339  		{1, 0},
   340  		{171, 8},
   341  		{172, 0},
   342  		{207, 8},
   343  		{208, 0},
   344  		{222, 8},
   345  		{223, 0},
   346  		{247, 8},
   347  		{248, 0},
   348  		{253, 8},
   349  		{259, 0},
   350  	}
   351  	_pcsp__u64toa = [][2]uint32{
   352  		{13, 0},
   353  		{162, 8},
   354  		{163, 0},
   355  		{175, 8},
   356  		{240, 0},
   357  		{498, 8},
   358  		{499, 0},
   359  		{519, 8},
   360  		{592, 0},
   361  		{852, 8},
   362  		{928, 0},
   363  		{1376, 8},
   364  		{1378, 0},
   365  	}
   366  	_pcsp__lspace = [][2]uint32{
   367  		{1, 0},
   368  		{186, 8},
   369  		{190, 0},
   370  		{199, 8},
   371  		{203, 0},
   372  		{210, 8},
   373  		{214, 0},
   374  		{232, 8},
   375  	}
   376  	_pcsp__quote = [][2]uint32{
   377  		{1, 0},
   378  		{4, 8},
   379  		{6, 16},
   380  		{8, 24},
   381  		{10, 32},
   382  		{12, 40},
   383  		{13, 48},
   384  		{2828, 72},
   385  		{2832, 48},
   386  		{2833, 40},
   387  		{2835, 32},
   388  		{2837, 24},
   389  		{2839, 16},
   390  		{2841, 8},
   391  		{2845, 0},
   392  		{2876, 72},
   393  	}
   394  	_pcsp__skip_array = [][2]uint32{
   395  		{1, 0},
   396  		{28, 8},
   397  		{34, 0},
   398  	}
   399  	_pcsp__skip_number = [][2]uint32{
   400  		{1, 0},
   401  		{4, 8},
   402  		{6, 16},
   403  		{8, 24},
   404  		{10, 32},
   405  		{12, 40},
   406  		{13, 48},
   407  		{107, 56},
   408  		{111, 48},
   409  		{112, 40},
   410  		{114, 32},
   411  		{116, 24},
   412  		{118, 16},
   413  		{120, 8},
   414  		{121, 0},
   415  		{145, 56},
   416  	}
   417  	_pcsp__skip_object = [][2]uint32{
   418  		{1, 0},
   419  		{28, 8},
   420  		{34, 0},
   421  	}
   422  	_pcsp__skip_one = [][2]uint32{
   423  		{1, 0},
   424  		{28, 8},
   425  		{34, 0},
   426  	}
   427  	_pcsp__unquote = [][2]uint32{
   428  		{1, 0},
   429  		{4, 8},
   430  		{6, 16},
   431  		{8, 24},
   432  		{10, 32},
   433  		{12, 40},
   434  		{13, 48},
   435  		{1836, 104},
   436  		{1840, 48},
   437  		{1841, 40},
   438  		{1843, 32},
   439  		{1845, 24},
   440  		{1847, 16},
   441  		{1849, 8},
   442  		{1853, 0},
   443  		{2554, 104},
   444  	}
   445  	_pcsp__validate_one = [][2]uint32{
   446  		{1, 0},
   447  		{33, 8},
   448  		{39, 0},
   449  	}
   450  	_pcsp__validate_utf8 = [][2]uint32{
   451  		{1, 0},
   452  		{4, 8},
   453  		{6, 16},
   454  		{8, 24},
   455  		{10, 32},
   456  		{11, 40},
   457  		{639, 48},
   458  		{643, 40},
   459  		{644, 32},
   460  		{646, 24},
   461  		{648, 16},
   462  		{650, 8},
   463  		{651, 0},
   464  		{682, 48},
   465  	}
   466  	_pcsp__validate_utf8_fast = [][2]uint32{
   467  		{1, 0},
   468  		{4, 8},
   469  		{5, 16},
   470  		{1706, 176},
   471  		{1707, 168},
   472  		{1711, 160},
   473  		{2003, 176},
   474  		{2004, 168},
   475  		{2008, 160},
   476  		{2656, 176},
   477  	}
   478  	_pcsp__value = [][2]uint32{
   479  		{1, 0},
   480  		{4, 8},
   481  		{6, 16},
   482  		{8, 24},
   483  		{10, 32},
   484  		{12, 40},
   485  		{13, 48},
   486  		{974, 88},
   487  		{978, 48},
   488  		{979, 40},
   489  		{981, 32},
   490  		{983, 24},
   491  		{985, 16},
   492  		{987, 8},
   493  		{992, 0},
   494  	}
   495  	_pcsp__vnumber = [][2]uint32{
   496  		{1, 0},
   497  		{4, 8},
   498  		{6, 16},
   499  		{8, 24},
   500  		{10, 32},
   501  		{12, 40},
   502  		{13, 48},
   503  		{150, 120},
   504  		{154, 48},
   505  		{155, 40},
   506  		{157, 32},
   507  		{159, 24},
   508  		{161, 16},
   509  		{163, 8},
   510  		{164, 0},
   511  		{1638, 120},
   512  	}
   513  	_pcsp__atof_eisel_lemire64 = [][2]uint32{
   514  		{1, 0},
   515  		{4, 8},
   516  		{6, 16},
   517  		{8, 24},
   518  		{10, 32},
   519  		{315, 40},
   520  		{316, 32},
   521  		{318, 24},
   522  		{320, 16},
   523  		{322, 8},
   524  		{323, 0},
   525  		{387, 40},
   526  	}
   527  	_pcsp__atof_native = [][2]uint32{
   528  		{1, 0},
   529  		{4, 8},
   530  		{596, 56},
   531  		{600, 8},
   532  		{602, 0},
   533  	}
   534  	_pcsp__decimal_to_f64 = [][2]uint32{
   535  		{1, 0},
   536  		{4, 8},
   537  		{6, 16},
   538  		{8, 24},
   539  		{10, 32},
   540  		{12, 40},
   541  		{13, 48},
   542  		{1431, 56},
   543  		{1435, 48},
   544  		{1436, 40},
   545  		{1438, 32},
   546  		{1440, 24},
   547  		{1442, 16},
   548  		{1444, 8},
   549  		{1448, 0},
   550  		{1460, 56},
   551  	}
   552  	_pcsp__left_shift = [][2]uint32{
   553  		{1, 0},
   554  		{4, 8},
   555  		{6, 16},
   556  		{8, 24},
   557  		{418, 32},
   558  		{419, 24},
   559  		{421, 16},
   560  		{423, 8},
   561  		{424, 0},
   562  		{539, 32},
   563  	}
   564  	_pcsp__right_shift = [][2]uint32{
   565  		{1, 0},
   566  		{4, 8},
   567  		{452, 16},
   568  		{453, 8},
   569  		{454, 0},
   570  		{462, 16},
   571  		{463, 8},
   572  		{464, 0},
   573  		{472, 16},
   574  		{473, 8},
   575  		{475, 0},
   576  	}
   577  	_pcsp__vsigned = [][2]uint32{
   578  		{1, 0},
   579  		{4, 8},
   580  		{113, 16},
   581  		{114, 8},
   582  		{115, 0},
   583  		{126, 16},
   584  		{127, 8},
   585  		{128, 0},
   586  		{278, 16},
   587  		{279, 8},
   588  		{280, 0},
   589  		{284, 16},
   590  		{285, 8},
   591  		{286, 0},
   592  		{340, 16},
   593  		{341, 8},
   594  		{342, 0},
   595  		{353, 16},
   596  		{354, 8},
   597  		{356, 0},
   598  	}
   599  	_pcsp__vstring = [][2]uint32{
   600  		{1, 0},
   601  		{4, 8},
   602  		{6, 16},
   603  		{8, 24},
   604  		{10, 32},
   605  		{11, 40},
   606  		{105, 56},
   607  		{109, 40},
   608  		{110, 32},
   609  		{112, 24},
   610  		{114, 16},
   611  		{116, 8},
   612  		{118, 0},
   613  	}
   614  	_pcsp__vunsigned = [][2]uint32{
   615  		{1, 0},
   616  		{4, 8},
   617  		{6, 16},
   618  		{74, 24},
   619  		{75, 16},
   620  		{77, 8},
   621  		{78, 0},
   622  		{89, 24},
   623  		{90, 16},
   624  		{92, 8},
   625  		{93, 0},
   626  		{116, 24},
   627  		{117, 16},
   628  		{119, 8},
   629  		{120, 0},
   630  		{281, 24},
   631  		{282, 16},
   632  		{284, 8},
   633  		{285, 0},
   634  		{336, 24},
   635  		{337, 16},
   636  		{339, 8},
   637  		{340, 0},
   638  		{348, 24},
   639  		{349, 16},
   640  		{351, 8},
   641  		{353, 0},
   642  	}
   643  )
   644  
   645  var Funcs = []loader.CFunc{
   646  	{"__native_entry__", 0, 67, 0, nil},
   647  	{"_f32toa", _entry__f32toa, _size__f32toa, _stack__f32toa, _pcsp__f32toa},
   648  	{"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
   649  	{"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
   650  	{"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
   651  	{"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
   652  	{"_advance_ns", _entry__advance_ns, _size__advance_ns, _stack__advance_ns, _pcsp__advance_ns},
   653  	{"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
   654  	{"_advance_string_default", _entry__advance_string_default, _size__advance_string_default, _stack__advance_string_default, _pcsp__advance_string_default},
   655  	{"_do_skip_number", _entry__do_skip_number, _size__do_skip_number, _stack__do_skip_number, _pcsp__do_skip_number},
   656  	{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
   657  	{"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast},
   658  	{"_unescape", _entry__unescape, _size__unescape, _stack__unescape, _pcsp__unescape},
   659  	{"_unhex16_is", _entry__unhex16_is, _size__unhex16_is, _stack__unhex16_is, _pcsp__unhex16_is},
   660  	{"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape},
   661  	{"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
   662  	{"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
   663  	{"_lspace", _entry__lspace, _size__lspace, _stack__lspace, _pcsp__lspace},
   664  	{"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote},
   665  	{"_skip_array", _entry__skip_array, _size__skip_array, _stack__skip_array, _pcsp__skip_array},
   666  	{"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number},
   667  	{"_skip_object", _entry__skip_object, _size__skip_object, _stack__skip_object, _pcsp__skip_object},
   668  	{"_skip_one", _entry__skip_one, _size__skip_one, _stack__skip_one, _pcsp__skip_one},
   669  	{"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote},
   670  	{"_validate_one", _entry__validate_one, _size__validate_one, _stack__validate_one, _pcsp__validate_one},
   671  	{"_validate_utf8", _entry__validate_utf8, _size__validate_utf8, _stack__validate_utf8, _pcsp__validate_utf8},
   672  	{"_validate_utf8_fast", _entry__validate_utf8_fast, _size__validate_utf8_fast, _stack__validate_utf8_fast, _pcsp__validate_utf8_fast},
   673  	{"_value", _entry__value, _size__value, _stack__value, _pcsp__value},
   674  	{"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber},
   675  	{"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
   676  	{"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
   677  	{"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
   678  	{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
   679  	{"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
   680  	{"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned},
   681  	{"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring},
   682  	{"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned},
   683  }