...

Text file src/pkg/math/stubs_s390x.s

     1	// Copyright 2016 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	#include "textflag.h"
     6	
     7	TEXT ·Exp2(SB), NOSPLIT, $0
     8		BR ·exp2(SB)
     9	
    10	TEXT ·Frexp(SB), NOSPLIT, $0
    11		BR ·frexp(SB)
    12	
    13	TEXT ·Hypot(SB), NOSPLIT, $0
    14		BR ·hypot(SB)
    15	
    16	TEXT ·Ldexp(SB), NOSPLIT, $0
    17		BR ·ldexp(SB)
    18	
    19	TEXT ·Log2(SB), NOSPLIT, $0
    20		BR ·log2(SB)
    21	
    22	TEXT ·Modf(SB), NOSPLIT, $0
    23		BR ·modf(SB)
    24	
    25	TEXT ·Mod(SB), NOSPLIT, $0
    26		BR ·mod(SB)
    27	
    28	TEXT ·Remainder(SB), NOSPLIT, $0
    29		BR ·remainder(SB)
    30	
    31	// if go assembly use vector instruction
    32	TEXT ·hasVectorFacility(SB), NOSPLIT, $24-1
    33		MOVD  $x-24(SP), R1
    34		XC    $24, 0(R1), 0(R1) // clear the storage
    35		MOVD  $2, R0            // R0 is the number of double words stored -1
    36		WORD  $0xB2B01000       // STFLE 0(R1)
    37		XOR   R0, R0            // reset the value of R0
    38		MOVBZ z-8(SP), R1
    39		AND   $0x40, R1
    40		BEQ   novector
    41	
    42	vectorinstalled:
    43		// check if the vector instruction has been enabled
    44		VLEIB  $0, $0xF, V16
    45		VLGVB  $0, V16, R1
    46		CMPBNE R1, $0xF, novector
    47		MOVB   $1, ret+0(FP)      // have vx
    48		RET
    49	
    50	novector:
    51		MOVB $0, ret+0(FP) // no vx
    52		RET
    53	
    54	TEXT ·Log10(SB), NOSPLIT, $0
    55		MOVD ·log10vectorfacility+0x00(SB), R1
    56		BR   (R1)
    57	
    58	TEXT ·log10TrampolineSetup(SB), NOSPLIT, $0
    59		MOVB   ·hasVX(SB), R1
    60		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
    61		MOVD   $·log10vectorfacility+0x00(SB), R1
    62		MOVD   $·log10(SB), R2
    63		MOVD   R2, 0(R1)
    64		BR     ·log10(SB)
    65	
    66	vectorimpl:
    67		MOVD $·log10vectorfacility+0x00(SB), R1
    68		MOVD $·log10Asm(SB), R2
    69		MOVD R2, 0(R1)
    70		BR   ·log10Asm(SB)
    71	
    72	GLOBL ·log10vectorfacility+0x00(SB), NOPTR, $8
    73	DATA ·log10vectorfacility+0x00(SB)/8, $·log10TrampolineSetup(SB)
    74	
    75	TEXT ·Cos(SB), NOSPLIT, $0
    76		MOVD ·cosvectorfacility+0x00(SB), R1
    77		BR   (R1)
    78	
    79	TEXT ·cosTrampolineSetup(SB), NOSPLIT, $0
    80		MOVB   ·hasVX(SB), R1
    81		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
    82		MOVD   $·cosvectorfacility+0x00(SB), R1
    83		MOVD   $·cos(SB), R2
    84		MOVD   R2, 0(R1)
    85		BR     ·cos(SB)
    86	
    87	vectorimpl:
    88		MOVD $·cosvectorfacility+0x00(SB), R1
    89		MOVD $·cosAsm(SB), R2
    90		MOVD R2, 0(R1)
    91		BR   ·cosAsm(SB)
    92	
    93	GLOBL ·cosvectorfacility+0x00(SB), NOPTR, $8
    94	DATA ·cosvectorfacility+0x00(SB)/8, $·cosTrampolineSetup(SB)
    95	
    96	TEXT ·Cosh(SB), NOSPLIT, $0
    97		MOVD ·coshvectorfacility+0x00(SB), R1
    98		BR   (R1)
    99	
   100	TEXT ·coshTrampolineSetup(SB), NOSPLIT, $0
   101		MOVB   ·hasVX(SB), R1
   102		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   103		MOVD   $·coshvectorfacility+0x00(SB), R1
   104		MOVD   $·cosh(SB), R2
   105		MOVD   R2, 0(R1)
   106		BR     ·cosh(SB)
   107	
   108	vectorimpl:
   109		MOVD $·coshvectorfacility+0x00(SB), R1
   110		MOVD $·coshAsm(SB), R2
   111		MOVD R2, 0(R1)
   112		BR   ·coshAsm(SB)
   113	
   114	GLOBL ·coshvectorfacility+0x00(SB), NOPTR, $8
   115	DATA ·coshvectorfacility+0x00(SB)/8, $·coshTrampolineSetup(SB)
   116	
   117	TEXT ·Sin(SB), NOSPLIT, $0
   118		MOVD ·sinvectorfacility+0x00(SB), R1
   119		BR   (R1)
   120	
   121	TEXT ·sinTrampolineSetup(SB), NOSPLIT, $0
   122		MOVB   ·hasVX(SB), R1
   123		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
   124		MOVD   $·sinvectorfacility+0x00(SB), R1
   125		MOVD   $·sin(SB), R2
   126		MOVD   R2, 0(R1)
   127		BR     ·sin(SB)
   128	
   129	vectorimpl:
   130		MOVD $·sinvectorfacility+0x00(SB), R1
   131		MOVD $·sinAsm(SB), R2
   132		MOVD R2, 0(R1)
   133		BR   ·sinAsm(SB)
   134	
   135	GLOBL ·sinvectorfacility+0x00(SB), NOPTR, $8
   136	DATA ·sinvectorfacility+0x00(SB)/8, $·sinTrampolineSetup(SB)
   137	
   138	TEXT ·Sinh(SB), NOSPLIT, $0
   139		MOVD ·sinhvectorfacility+0x00(SB), R1
   140		BR   (R1)
   141	
   142	TEXT ·sinhTrampolineSetup(SB), NOSPLIT, $0
   143		MOVB   ·hasVX(SB), R1
   144		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   145		MOVD   $·sinhvectorfacility+0x00(SB), R1
   146		MOVD   $·sinh(SB), R2
   147		MOVD   R2, 0(R1)
   148		BR     ·sinh(SB)
   149	
   150	vectorimpl:
   151		MOVD $·sinhvectorfacility+0x00(SB), R1
   152		MOVD $·sinhAsm(SB), R2
   153		MOVD R2, 0(R1)
   154		BR   ·sinhAsm(SB)
   155	
   156	GLOBL ·sinhvectorfacility+0x00(SB), NOPTR, $8
   157	DATA ·sinhvectorfacility+0x00(SB)/8, $·sinhTrampolineSetup(SB)
   158	
   159	TEXT ·Tanh(SB), NOSPLIT, $0
   160		MOVD ·tanhvectorfacility+0x00(SB), R1
   161		BR   (R1)
   162	
   163	TEXT ·tanhTrampolineSetup(SB), NOSPLIT, $0
   164		MOVB   ·hasVX(SB), R1
   165		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   166		MOVD   $·tanhvectorfacility+0x00(SB), R1
   167		MOVD   $·tanh(SB), R2
   168		MOVD   R2, 0(R1)
   169		BR     ·tanh(SB)
   170	
   171	vectorimpl:
   172		MOVD $·tanhvectorfacility+0x00(SB), R1
   173		MOVD $·tanhAsm(SB), R2
   174		MOVD R2, 0(R1)
   175		BR   ·tanhAsm(SB)
   176	
   177	GLOBL ·tanhvectorfacility+0x00(SB), NOPTR, $8
   178	DATA ·tanhvectorfacility+0x00(SB)/8, $·tanhTrampolineSetup(SB)
   179	
   180	TEXT ·Log1p(SB), NOSPLIT, $0
   181		MOVD ·log1pvectorfacility+0x00(SB), R1
   182		BR   (R1)
   183	
   184	TEXT ·log1pTrampolineSetup(SB), NOSPLIT, $0
   185		MOVB   ·hasVX(SB), R1
   186		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
   187		MOVD   $·log1pvectorfacility+0x00(SB), R1
   188		MOVD   $·log1p(SB), R2
   189		MOVD   R2, 0(R1)
   190		BR     ·log1p(SB)
   191	
   192	vectorimpl:
   193		MOVD $·log1pvectorfacility+0x00(SB), R1
   194		MOVD $·log1pAsm(SB), R2
   195		MOVD R2, 0(R1)
   196		BR   ·log1pAsm(SB)
   197	
   198	GLOBL ·log1pvectorfacility+0x00(SB), NOPTR, $8
   199	DATA ·log1pvectorfacility+0x00(SB)/8, $·log1pTrampolineSetup(SB)
   200	
   201	TEXT ·Atanh(SB), NOSPLIT, $0
   202		MOVD ·atanhvectorfacility+0x00(SB), R1
   203		BR   (R1)
   204	
   205	TEXT ·atanhTrampolineSetup(SB), NOSPLIT, $0
   206		MOVB   ·hasVX(SB), R1
   207		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
   208		MOVD   $·atanhvectorfacility+0x00(SB), R1
   209		MOVD   $·atanh(SB), R2
   210		MOVD   R2, 0(R1)
   211		BR     ·atanh(SB)
   212	
   213	vectorimpl:
   214		MOVD $·atanhvectorfacility+0x00(SB), R1
   215		MOVD $·atanhAsm(SB), R2
   216		MOVD R2, 0(R1)
   217		BR   ·atanhAsm(SB)
   218	
   219	GLOBL ·atanhvectorfacility+0x00(SB), NOPTR, $8
   220	DATA ·atanhvectorfacility+0x00(SB)/8, $·atanhTrampolineSetup(SB)
   221	
   222	TEXT ·Acos(SB), NOSPLIT, $0
   223		MOVD ·acosvectorfacility+0x00(SB), R1
   224		BR   (R1)
   225	
   226	TEXT ·acosTrampolineSetup(SB), NOSPLIT, $0
   227		MOVB   ·hasVX(SB), R1
   228		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   229		MOVD   $·acosvectorfacility+0x00(SB), R1
   230		MOVD   $·acos(SB), R2
   231		MOVD   R2, 0(R1)
   232		BR     ·acos(SB)
   233	
   234	vectorimpl:
   235		MOVD $·acosvectorfacility+0x00(SB), R1
   236		MOVD $·acosAsm(SB), R2
   237		MOVD R2, 0(R1)
   238		BR   ·acosAsm(SB)
   239	
   240	GLOBL ·acosvectorfacility+0x00(SB), NOPTR, $8
   241	DATA ·acosvectorfacility+0x00(SB)/8, $·acosTrampolineSetup(SB)
   242	
   243	TEXT ·Asin(SB), NOSPLIT, $0
   244		MOVD ·asinvectorfacility+0x00(SB), R1
   245		BR   (R1)
   246	
   247	TEXT ·asinTrampolineSetup(SB), NOSPLIT, $0
   248		MOVB   ·hasVX(SB), R1
   249		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   250		MOVD   $·asinvectorfacility+0x00(SB), R1
   251		MOVD   $·asin(SB), R2
   252		MOVD   R2, 0(R1)
   253		BR     ·asin(SB)
   254	
   255	vectorimpl:
   256		MOVD $·asinvectorfacility+0x00(SB), R1
   257		MOVD $·asinAsm(SB), R2
   258		MOVD R2, 0(R1)
   259		BR   ·asinAsm(SB)
   260	
   261	GLOBL ·asinvectorfacility+0x00(SB), NOPTR, $8
   262	DATA ·asinvectorfacility+0x00(SB)/8, $·asinTrampolineSetup(SB)
   263	
   264	TEXT ·Asinh(SB), NOSPLIT, $0
   265		MOVD ·asinhvectorfacility+0x00(SB), R1
   266		BR   (R1)
   267	
   268	TEXT ·asinhTrampolineSetup(SB), NOSPLIT, $0
   269		MOVB   ·hasVX(SB), R1
   270		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
   271		MOVD   $·asinhvectorfacility+0x00(SB), R1
   272		MOVD   $·asinh(SB), R2
   273		MOVD   R2, 0(R1)
   274		BR     ·asinh(SB)
   275	
   276	vectorimpl:
   277		MOVD $·asinhvectorfacility+0x00(SB), R1
   278		MOVD $·asinhAsm(SB), R2
   279		MOVD R2, 0(R1)
   280		BR   ·asinhAsm(SB)
   281	
   282	GLOBL ·asinhvectorfacility+0x00(SB), NOPTR, $8
   283	DATA ·asinhvectorfacility+0x00(SB)/8, $·asinhTrampolineSetup(SB)
   284	
   285	TEXT ·Acosh(SB), NOSPLIT, $0
   286		MOVD ·acoshvectorfacility+0x00(SB), R1
   287		BR   (R1)
   288	
   289	TEXT ·acoshTrampolineSetup(SB), NOSPLIT, $0
   290		MOVB   ·hasVX(SB), R1
   291		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
   292		MOVD   $·acoshvectorfacility+0x00(SB), R1
   293		MOVD   $·acosh(SB), R2
   294		MOVD   R2, 0(R1)
   295		BR     ·acosh(SB)
   296	
   297	vectorimpl:
   298		MOVD $·acoshvectorfacility+0x00(SB), R1
   299		MOVD $·acoshAsm(SB), R2
   300		MOVD R2, 0(R1)
   301		BR   ·acoshAsm(SB)
   302	
   303	GLOBL ·acoshvectorfacility+0x00(SB), NOPTR, $8
   304	DATA ·acoshvectorfacility+0x00(SB)/8, $·acoshTrampolineSetup(SB)
   305	
   306	TEXT ·Erf(SB), NOSPLIT, $0
   307		MOVD ·erfvectorfacility+0x00(SB), R1
   308		BR   (R1)
   309	
   310	TEXT ·erfTrampolineSetup(SB), NOSPLIT, $0
   311		MOVB   ·hasVX(SB), R1
   312		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
   313		MOVD   $·erfvectorfacility+0x00(SB), R1
   314		MOVD   $·erf(SB), R2
   315		MOVD   R2, 0(R1)
   316		BR     ·erf(SB)
   317	
   318	vectorimpl:
   319		MOVD $·erfvectorfacility+0x00(SB), R1
   320		MOVD $·erfAsm(SB), R2
   321		MOVD R2, 0(R1)
   322		BR   ·erfAsm(SB)
   323	
   324	GLOBL ·erfvectorfacility+0x00(SB), NOPTR, $8
   325	DATA ·erfvectorfacility+0x00(SB)/8, $·erfTrampolineSetup(SB)
   326	
   327	TEXT ·Erfc(SB), NOSPLIT, $0
   328		MOVD ·erfcvectorfacility+0x00(SB), R1
   329		BR   (R1)
   330	
   331	TEXT ·erfcTrampolineSetup(SB), NOSPLIT, $0
   332		MOVB   ·hasVX(SB), R1
   333		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   334		MOVD   $·erfcvectorfacility+0x00(SB), R1
   335		MOVD   $·erfc(SB), R2
   336		MOVD   R2, 0(R1)
   337		BR     ·erfc(SB)
   338	
   339	vectorimpl:
   340		MOVD $·erfcvectorfacility+0x00(SB), R1
   341		MOVD $·erfcAsm(SB), R2
   342		MOVD R2, 0(R1)
   343		BR   ·erfcAsm(SB)
   344	
   345	GLOBL ·erfcvectorfacility+0x00(SB), NOPTR, $8
   346	DATA ·erfcvectorfacility+0x00(SB)/8, $·erfcTrampolineSetup(SB)
   347	
   348	TEXT ·Atan(SB), NOSPLIT, $0
   349		MOVD ·atanvectorfacility+0x00(SB), R1
   350		BR   (R1)
   351	
   352	TEXT ·atanTrampolineSetup(SB), NOSPLIT, $0
   353		MOVB   ·hasVX(SB), R1
   354		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   355		MOVD   $·atanvectorfacility+0x00(SB), R1
   356		MOVD   $·atan(SB), R2
   357		MOVD   R2, 0(R1)
   358		BR     ·atan(SB)
   359	
   360	vectorimpl:
   361		MOVD $·atanvectorfacility+0x00(SB), R1
   362		MOVD $·atanAsm(SB), R2
   363		MOVD R2, 0(R1)
   364		BR   ·atanAsm(SB)
   365	
   366	GLOBL ·atanvectorfacility+0x00(SB), NOPTR, $8
   367	DATA ·atanvectorfacility+0x00(SB)/8, $·atanTrampolineSetup(SB)
   368	
   369	TEXT ·Atan2(SB), NOSPLIT, $0
   370		MOVD ·atan2vectorfacility+0x00(SB), R1
   371		BR   (R1)
   372	
   373	TEXT ·atan2TrampolineSetup(SB), NOSPLIT, $0
   374		MOVB   ·hasVX(SB), R1
   375		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
   376		MOVD   $·atan2vectorfacility+0x00(SB), R1
   377		MOVD   $·atan2(SB), R2
   378		MOVD   R2, 0(R1)
   379		BR     ·atan2(SB)
   380	
   381	vectorimpl:
   382		MOVD $·atan2vectorfacility+0x00(SB), R1
   383		MOVD $·atan2Asm(SB), R2
   384		MOVD R2, 0(R1)
   385		BR   ·atan2Asm(SB)
   386	
   387	GLOBL ·atan2vectorfacility+0x00(SB), NOPTR, $8
   388	DATA ·atan2vectorfacility+0x00(SB)/8, $·atan2TrampolineSetup(SB)
   389	
   390	TEXT ·Cbrt(SB), NOSPLIT, $0
   391		MOVD ·cbrtvectorfacility+0x00(SB), R1
   392		BR   (R1)
   393	
   394	TEXT ·cbrtTrampolineSetup(SB), NOSPLIT, $0
   395		MOVB   ·hasVX(SB), R1
   396		CMPBEQ R1, $1, vectorimpl                // vectorfacility = 1, vector supported
   397		MOVD   $·cbrtvectorfacility+0x00(SB), R1
   398		MOVD   $·cbrt(SB), R2
   399		MOVD   R2, 0(R1)
   400		BR     ·cbrt(SB)
   401	
   402	vectorimpl:
   403		MOVD $·cbrtvectorfacility+0x00(SB), R1
   404		MOVD $·cbrtAsm(SB), R2
   405		MOVD R2, 0(R1)
   406		BR   ·cbrtAsm(SB)
   407	
   408	GLOBL ·cbrtvectorfacility+0x00(SB), NOPTR, $8
   409	DATA ·cbrtvectorfacility+0x00(SB)/8, $·cbrtTrampolineSetup(SB)
   410	
   411	TEXT ·Log(SB), NOSPLIT, $0
   412		MOVD ·logvectorfacility+0x00(SB), R1
   413		BR   (R1)
   414	
   415	TEXT ·logTrampolineSetup(SB), NOSPLIT, $0
   416		MOVB   ·hasVX(SB), R1
   417		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
   418		MOVD   $·logvectorfacility+0x00(SB), R1
   419		MOVD   $·log(SB), R2
   420		MOVD   R2, 0(R1)
   421		BR     ·log(SB)
   422	
   423	vectorimpl:
   424		MOVD $·logvectorfacility+0x00(SB), R1
   425		MOVD $·logAsm(SB), R2
   426		MOVD R2, 0(R1)
   427		BR   ·logAsm(SB)
   428	
   429	GLOBL ·logvectorfacility+0x00(SB), NOPTR, $8
   430	DATA ·logvectorfacility+0x00(SB)/8, $·logTrampolineSetup(SB)
   431	
   432	TEXT ·Tan(SB), NOSPLIT, $0
   433		MOVD ·tanvectorfacility+0x00(SB), R1
   434		BR   (R1)
   435	
   436	TEXT ·tanTrampolineSetup(SB), NOSPLIT, $0
   437		MOVB   ·hasVX(SB), R1
   438		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
   439		MOVD   $·tanvectorfacility+0x00(SB), R1
   440		MOVD   $·tan(SB), R2
   441		MOVD   R2, 0(R1)
   442		BR     ·tan(SB)
   443	
   444	vectorimpl:
   445		MOVD $·tanvectorfacility+0x00(SB), R1
   446		MOVD $·tanAsm(SB), R2
   447		MOVD R2, 0(R1)
   448		BR   ·tanAsm(SB)
   449	
   450	GLOBL ·tanvectorfacility+0x00(SB), NOPTR, $8
   451	DATA ·tanvectorfacility+0x00(SB)/8, $·tanTrampolineSetup(SB)
   452	
   453	TEXT ·Exp(SB), NOSPLIT, $0
   454		MOVD ·expvectorfacility+0x00(SB), R1
   455		BR   (R1)
   456	
   457	TEXT ·expTrampolineSetup(SB), NOSPLIT, $0
   458		MOVB   ·hasVX(SB), R1
   459		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
   460		MOVD   $·expvectorfacility+0x00(SB), R1
   461		MOVD   $·exp(SB), R2
   462		MOVD   R2, 0(R1)
   463		BR     ·exp(SB)
   464	
   465	vectorimpl:
   466		MOVD $·expvectorfacility+0x00(SB), R1
   467		MOVD $·expAsm(SB), R2
   468		MOVD R2, 0(R1)
   469		BR   ·expAsm(SB)
   470	
   471	GLOBL ·expvectorfacility+0x00(SB), NOPTR, $8
   472	DATA ·expvectorfacility+0x00(SB)/8, $·expTrampolineSetup(SB)
   473	
   474	TEXT ·Expm1(SB), NOSPLIT, $0
   475		MOVD ·expm1vectorfacility+0x00(SB), R1
   476		BR   (R1)
   477	
   478	TEXT ·expm1TrampolineSetup(SB), NOSPLIT, $0
   479		MOVB   ·hasVX(SB), R1
   480		CMPBEQ R1, $1, vectorimpl                 // vectorfacility = 1, vector supported
   481		MOVD   $·expm1vectorfacility+0x00(SB), R1
   482		MOVD   $·expm1(SB), R2
   483		MOVD   R2, 0(R1)
   484		BR     ·expm1(SB)
   485	
   486	vectorimpl:
   487		MOVD $·expm1vectorfacility+0x00(SB), R1
   488		MOVD $·expm1Asm(SB), R2
   489		MOVD R2, 0(R1)
   490		BR   ·expm1Asm(SB)
   491	
   492	GLOBL ·expm1vectorfacility+0x00(SB), NOPTR, $8
   493	DATA ·expm1vectorfacility+0x00(SB)/8, $·expm1TrampolineSetup(SB)
   494	
   495	TEXT ·Pow(SB), NOSPLIT, $0
   496		MOVD ·powvectorfacility+0x00(SB), R1
   497		BR   (R1)
   498	
   499	TEXT ·powTrampolineSetup(SB), NOSPLIT, $0
   500		MOVB   ·hasVX(SB), R1
   501		CMPBEQ R1, $1, vectorimpl               // vectorfacility = 1, vector supported
   502		MOVD   $·powvectorfacility+0x00(SB), R1
   503		MOVD   $·pow(SB), R2
   504		MOVD   R2, 0(R1)
   505		BR     ·pow(SB)
   506	
   507	vectorimpl:
   508		MOVD $·powvectorfacility+0x00(SB), R1
   509		MOVD $·powAsm(SB), R2
   510		MOVD R2, 0(R1)
   511		BR   ·powAsm(SB)
   512	
   513	GLOBL ·powvectorfacility+0x00(SB), NOPTR, $8
   514	DATA ·powvectorfacility+0x00(SB)/8, $·powTrampolineSetup(SB)
   515	

View as plain text