github.com/goshafaq/sonic@v0.0.0-20231026082336-871835fb94c6/internal/native/sse/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 sse
     7  
     8  import (
     9  	"github.com/goshafaq/sonic/loader"
    10  )
    11  
    12  const (
    13  	_entry__f32toa                 = 31344
    14  	_entry__f64toa                 = 128
    15  	_entry__format_significand     = 36272
    16  	_entry__format_integer         = 3280
    17  	_entry__fsm_exec               = 18832
    18  	_entry__advance_string         = 15024
    19  	_entry__advance_string_default = 37808
    20  	_entry__do_skip_number         = 21376
    21  	_entry__get_by_path            = 26768
    22  	_entry__skip_one_fast          = 22896
    23  	_entry__unescape               = 38752
    24  	_entry__unhex16_is             = 9584
    25  	_entry__html_escape            = 9776
    26  	_entry__i64toa                 = 3712
    27  	_entry__u64toa                 = 3984
    28  	_entry__lspace                 = 16
    29  	_entry__quote                  = 5472
    30  	_entry__skip_array             = 18800
    31  	_entry__skip_number            = 22496
    32  	_entry__skip_object            = 21024
    33  	_entry__skip_one               = 22672
    34  	_entry__unquote                = 7248
    35  	_entry__validate_one           = 22720
    36  	_entry__validate_utf8          = 30096
    37  	_entry__validate_utf8_fast     = 30784
    38  	_entry__value                  = 13072
    39  	_entry__vnumber                = 16400
    40  	_entry__atof_eisel_lemire64    = 11072
    41  	_entry__atof_native            = 12464
    42  	_entry__decimal_to_f64         = 11472
    43  	_entry__left_shift             = 36752
    44  	_entry__right_shift            = 37296
    45  	_entry__vsigned                = 18048
    46  	_entry__vstring                = 14848
    47  	_entry__vunsigned              = 18416
    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            = 264
    60  	_stack__skip_one_fast          = 136
    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                 = 3696
    90  	_size__f64toa                 = 3152
    91  	_size__format_significand     = 480
    92  	_size__format_integer         = 432
    93  	_size__fsm_exec               = 1656
    94  	_size__advance_string         = 1328
    95  	_size__advance_string_default = 944
    96  	_size__do_skip_number         = 908
    97  	_size__get_by_path            = 3328
    98  	_size__skip_one_fast          = 3348
    99  	_size__unescape               = 704
   100  	_size__unhex16_is             = 128
   101  	_size__html_escape            = 1296
   102  	_size__i64toa                 = 272
   103  	_size__u64toa                 = 1440
   104  	_size__lspace                 = 96
   105  	_size__quote                  = 1760
   106  	_size__skip_array             = 32
   107  	_size__skip_number            = 160
   108  	_size__skip_object            = 32
   109  	_size__skip_one               = 32
   110  	_size__unquote                = 2336
   111  	_size__validate_one           = 48
   112  	_size__validate_utf8          = 688
   113  	_size__validate_utf8_fast     = 544
   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  		{3638, 64},
   136  		{3642, 48},
   137  		{3643, 40},
   138  		{3645, 32},
   139  		{3647, 24},
   140  		{3649, 16},
   141  		{3651, 8},
   142  		{3652, 0},
   143  		{3682, 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  		{3033, 56},
   154  		{3037, 48},
   155  		{3038, 40},
   156  		{3040, 32},
   157  		{3042, 24},
   158  		{3044, 16},
   159  		{3046, 8},
   160  		{3047, 0},
   161  		{3138, 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  		{587, 72},
   209  		{591, 48},
   210  		{592, 40},
   211  		{594, 32},
   212  		{596, 24},
   213  		{598, 16},
   214  		{600, 8},
   215  		{601, 0},
   216  		{1325, 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  		{402, 56},
   227  		{406, 48},
   228  		{407, 40},
   229  		{409, 32},
   230  		{411, 24},
   231  		{413, 16},
   232  		{415, 8},
   233  		{416, 0},
   234  		{936, 56},
   235  	}
   236  	_pcsp__do_skip_number = [][2]uint32{
   237  		{1, 0},
   238  		{4, 8},
   239  		{6, 16},
   240  		{8, 24},
   241  		{771, 32},
   242  		{772, 24},
   243  		{774, 16},
   244  		{776, 8},
   245  		{777, 0},
   246  		{908, 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  		{3278, 104},
   257  		{3282, 48},
   258  		{3283, 40},
   259  		{3285, 32},
   260  		{3287, 24},
   261  		{3289, 16},
   262  		{3291, 8},
   263  		{3292, 0},
   264  		{3317, 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  		{600, 136},
   275  		{604, 48},
   276  		{605, 40},
   277  		{607, 32},
   278  		{609, 24},
   279  		{611, 16},
   280  		{613, 8},
   281  		{614, 0},
   282  		{3348, 136},
   283  	}
   284  	_pcsp__unescape = [][2]uint32{
   285  		{1, 0},
   286  		{4, 8},
   287  		{6, 16},
   288  		{8, 24},
   289  		{10, 32},
   290  		{12, 40},
   291  		{13, 48},
   292  		{246, 56},
   293  		{250, 48},
   294  		{251, 40},
   295  		{253, 32},
   296  		{255, 24},
   297  		{257, 16},
   298  		{259, 8},
   299  		{260, 0},
   300  		{695, 56},
   301  	}
   302  	_pcsp__unhex16_is = [][2]uint32{
   303  		{1, 0},
   304  		{35, 8},
   305  		{36, 0},
   306  		{62, 8},
   307  		{63, 0},
   308  		{97, 8},
   309  		{98, 0},
   310  		{121, 8},
   311  		{123, 0},
   312  	}
   313  	_pcsp__html_escape = [][2]uint32{
   314  		{1, 0},
   315  		{4, 8},
   316  		{6, 16},
   317  		{8, 24},
   318  		{10, 32},
   319  		{12, 40},
   320  		{13, 48},
   321  		{1281, 64},
   322  		{1285, 48},
   323  		{1286, 40},
   324  		{1288, 32},
   325  		{1290, 24},
   326  		{1292, 16},
   327  		{1294, 8},
   328  		{1296, 0},
   329  	}
   330  	_pcsp__i64toa = [][2]uint32{
   331  		{1, 0},
   332  		{171, 8},
   333  		{172, 0},
   334  		{207, 8},
   335  		{208, 0},
   336  		{222, 8},
   337  		{223, 0},
   338  		{247, 8},
   339  		{248, 0},
   340  		{253, 8},
   341  		{259, 0},
   342  	}
   343  	_pcsp__u64toa = [][2]uint32{
   344  		{13, 0},
   345  		{162, 8},
   346  		{163, 0},
   347  		{175, 8},
   348  		{240, 0},
   349  		{498, 8},
   350  		{499, 0},
   351  		{519, 8},
   352  		{608, 0},
   353  		{882, 8},
   354  		{976, 0},
   355  		{1434, 8},
   356  		{1436, 0},
   357  	}
   358  	_pcsp__lspace = [][2]uint32{
   359  		{1, 0},
   360  		{85, 8},
   361  		{87, 0},
   362  	}
   363  	_pcsp__quote = [][2]uint32{
   364  		{1, 0},
   365  		{4, 8},
   366  		{6, 16},
   367  		{8, 24},
   368  		{10, 32},
   369  		{12, 40},
   370  		{13, 48},
   371  		{1701, 80},
   372  		{1705, 48},
   373  		{1706, 40},
   374  		{1708, 32},
   375  		{1710, 24},
   376  		{1712, 16},
   377  		{1714, 8},
   378  		{1715, 0},
   379  		{1750, 80},
   380  	}
   381  	_pcsp__skip_array = [][2]uint32{
   382  		{1, 0},
   383  		{26, 8},
   384  		{32, 0},
   385  	}
   386  	_pcsp__skip_number = [][2]uint32{
   387  		{1, 0},
   388  		{4, 8},
   389  		{6, 16},
   390  		{8, 24},
   391  		{10, 32},
   392  		{12, 40},
   393  		{13, 48},
   394  		{107, 56},
   395  		{111, 48},
   396  		{112, 40},
   397  		{114, 32},
   398  		{116, 24},
   399  		{118, 16},
   400  		{120, 8},
   401  		{121, 0},
   402  		{145, 56},
   403  	}
   404  	_pcsp__skip_object = [][2]uint32{
   405  		{1, 0},
   406  		{26, 8},
   407  		{32, 0},
   408  	}
   409  	_pcsp__skip_one = [][2]uint32{
   410  		{1, 0},
   411  		{26, 8},
   412  		{32, 0},
   413  	}
   414  	_pcsp__unquote = [][2]uint32{
   415  		{1, 0},
   416  		{4, 8},
   417  		{6, 16},
   418  		{8, 24},
   419  		{10, 32},
   420  		{12, 40},
   421  		{13, 48},
   422  		{1614, 104},
   423  		{1618, 48},
   424  		{1619, 40},
   425  		{1621, 32},
   426  		{1623, 24},
   427  		{1625, 16},
   428  		{1627, 8},
   429  		{1628, 0},
   430  		{2329, 104},
   431  	}
   432  	_pcsp__validate_one = [][2]uint32{
   433  		{1, 0},
   434  		{31, 8},
   435  		{37, 0},
   436  	}
   437  	_pcsp__validate_utf8 = [][2]uint32{
   438  		{1, 0},
   439  		{4, 8},
   440  		{6, 16},
   441  		{8, 24},
   442  		{10, 32},
   443  		{11, 40},
   444  		{639, 48},
   445  		{643, 40},
   446  		{644, 32},
   447  		{646, 24},
   448  		{648, 16},
   449  		{650, 8},
   450  		{651, 0},
   451  		{682, 48},
   452  	}
   453  	_pcsp__validate_utf8_fast = [][2]uint32{
   454  		{1, 0},
   455  		{4, 8},
   456  		{5, 16},
   457  		{247, 24},
   458  		{251, 16},
   459  		{252, 8},
   460  		{253, 0},
   461  		{527, 24},
   462  		{531, 16},
   463  		{532, 8},
   464  		{534, 0},
   465  	}
   466  	_pcsp__value = [][2]uint32{
   467  		{1, 0},
   468  		{4, 8},
   469  		{6, 16},
   470  		{8, 24},
   471  		{10, 32},
   472  		{12, 40},
   473  		{13, 48},
   474  		{439, 88},
   475  		{443, 48},
   476  		{444, 40},
   477  		{446, 32},
   478  		{448, 24},
   479  		{450, 16},
   480  		{452, 8},
   481  		{453, 0},
   482  		{1268, 88},
   483  	}
   484  	_pcsp__vnumber = [][2]uint32{
   485  		{1, 0},
   486  		{4, 8},
   487  		{6, 16},
   488  		{8, 24},
   489  		{10, 32},
   490  		{12, 40},
   491  		{13, 48},
   492  		{150, 120},
   493  		{154, 48},
   494  		{155, 40},
   495  		{157, 32},
   496  		{159, 24},
   497  		{161, 16},
   498  		{163, 8},
   499  		{164, 0},
   500  		{1642, 120},
   501  	}
   502  	_pcsp__atof_eisel_lemire64 = [][2]uint32{
   503  		{1, 0},
   504  		{4, 8},
   505  		{6, 16},
   506  		{8, 24},
   507  		{10, 32},
   508  		{315, 40},
   509  		{316, 32},
   510  		{318, 24},
   511  		{320, 16},
   512  		{322, 8},
   513  		{323, 0},
   514  		{387, 40},
   515  	}
   516  	_pcsp__atof_native = [][2]uint32{
   517  		{1, 0},
   518  		{4, 8},
   519  		{596, 56},
   520  		{600, 8},
   521  		{602, 0},
   522  	}
   523  	_pcsp__decimal_to_f64 = [][2]uint32{
   524  		{1, 0},
   525  		{4, 8},
   526  		{6, 16},
   527  		{8, 24},
   528  		{10, 32},
   529  		{12, 40},
   530  		{13, 48},
   531  		{951, 56},
   532  		{955, 48},
   533  		{956, 40},
   534  		{958, 32},
   535  		{960, 24},
   536  		{962, 16},
   537  		{964, 8},
   538  		{965, 0},
   539  		{977, 56},
   540  	}
   541  	_pcsp__left_shift = [][2]uint32{
   542  		{1, 0},
   543  		{4, 8},
   544  		{6, 16},
   545  		{8, 24},
   546  		{418, 32},
   547  		{419, 24},
   548  		{421, 16},
   549  		{423, 8},
   550  		{424, 0},
   551  		{539, 32},
   552  	}
   553  	_pcsp__right_shift = [][2]uint32{
   554  		{1, 0},
   555  		{4, 8},
   556  		{452, 16},
   557  		{453, 8},
   558  		{454, 0},
   559  		{462, 16},
   560  		{463, 8},
   561  		{464, 0},
   562  		{472, 16},
   563  		{473, 8},
   564  		{475, 0},
   565  	}
   566  	_pcsp__vsigned = [][2]uint32{
   567  		{1, 0},
   568  		{4, 8},
   569  		{111, 16},
   570  		{112, 8},
   571  		{113, 0},
   572  		{124, 16},
   573  		{125, 8},
   574  		{126, 0},
   575  		{278, 16},
   576  		{279, 8},
   577  		{280, 0},
   578  		{284, 16},
   579  		{285, 8},
   580  		{286, 0},
   581  		{340, 16},
   582  		{341, 8},
   583  		{342, 0},
   584  		{353, 16},
   585  		{354, 8},
   586  		{356, 0},
   587  	}
   588  	_pcsp__vstring = [][2]uint32{
   589  		{1, 0},
   590  		{4, 8},
   591  		{6, 16},
   592  		{8, 24},
   593  		{10, 32},
   594  		{11, 40},
   595  		{105, 56},
   596  		{109, 40},
   597  		{110, 32},
   598  		{112, 24},
   599  		{114, 16},
   600  		{116, 8},
   601  		{118, 0},
   602  	}
   603  	_pcsp__vunsigned = [][2]uint32{
   604  		{1, 0},
   605  		{4, 8},
   606  		{6, 16},
   607  		{72, 24},
   608  		{73, 16},
   609  		{75, 8},
   610  		{76, 0},
   611  		{87, 24},
   612  		{88, 16},
   613  		{90, 8},
   614  		{91, 0},
   615  		{114, 24},
   616  		{115, 16},
   617  		{117, 8},
   618  		{118, 0},
   619  		{281, 24},
   620  		{282, 16},
   621  		{284, 8},
   622  		{285, 0},
   623  		{336, 24},
   624  		{337, 16},
   625  		{339, 8},
   626  		{340, 0},
   627  		{348, 24},
   628  		{349, 16},
   629  		{351, 8},
   630  		{353, 0},
   631  	}
   632  )
   633  
   634  var Funcs = []loader.CFunc{
   635  	{"__native_entry__", 0, 67, 0, nil},
   636  	{"_f32toa", _entry__f32toa, _size__f32toa, _stack__f32toa, _pcsp__f32toa},
   637  	{"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
   638  	{"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
   639  	{"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
   640  	{"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
   641  	{"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
   642  	{"_advance_string_default", _entry__advance_string_default, _size__advance_string_default, _stack__advance_string_default, _pcsp__advance_string_default},
   643  	{"_do_skip_number", _entry__do_skip_number, _size__do_skip_number, _stack__do_skip_number, _pcsp__do_skip_number},
   644  	{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
   645  	{"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast},
   646  	{"_unescape", _entry__unescape, _size__unescape, _stack__unescape, _pcsp__unescape},
   647  	{"_unhex16_is", _entry__unhex16_is, _size__unhex16_is, _stack__unhex16_is, _pcsp__unhex16_is},
   648  	{"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape},
   649  	{"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
   650  	{"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
   651  	{"_lspace", _entry__lspace, _size__lspace, _stack__lspace, _pcsp__lspace},
   652  	{"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote},
   653  	{"_skip_array", _entry__skip_array, _size__skip_array, _stack__skip_array, _pcsp__skip_array},
   654  	{"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number},
   655  	{"_skip_object", _entry__skip_object, _size__skip_object, _stack__skip_object, _pcsp__skip_object},
   656  	{"_skip_one", _entry__skip_one, _size__skip_one, _stack__skip_one, _pcsp__skip_one},
   657  	{"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote},
   658  	{"_validate_one", _entry__validate_one, _size__validate_one, _stack__validate_one, _pcsp__validate_one},
   659  	{"_validate_utf8", _entry__validate_utf8, _size__validate_utf8, _stack__validate_utf8, _pcsp__validate_utf8},
   660  	{"_validate_utf8_fast", _entry__validate_utf8_fast, _size__validate_utf8_fast, _stack__validate_utf8_fast, _pcsp__validate_utf8_fast},
   661  	{"_value", _entry__value, _size__value, _stack__value, _pcsp__value},
   662  	{"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber},
   663  	{"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
   664  	{"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
   665  	{"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
   666  	{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
   667  	{"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
   668  	{"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned},
   669  	{"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring},
   670  	{"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned},
   671  }