...

Text file src/pkg/math/erfc_s390x.s

     1	// Copyright 2017 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	#define Neg2p11 0xC000E147AE147AE1
     8	#define Pos15   0x402E
     9	
    10	// Minimax polynomial coefficients and other constants
    11	DATA ·erfcrodataL38<> + 0(SB)/8, $.234875460637085087E-01
    12	DATA ·erfcrodataL38<> + 8(SB)/8, $.234469449299256284E-01
    13	DATA ·erfcrodataL38<> + 16(SB)/8, $-.606918710392844955E-04
    14	DATA ·erfcrodataL38<> + 24(SB)/8, $-.198827088077636213E-04
    15	DATA ·erfcrodataL38<> + 32(SB)/8, $.257805645845475331E-06
    16	DATA ·erfcrodataL38<> + 40(SB)/8, $-.184427218110620284E-09
    17	DATA ·erfcrodataL38<> + 48(SB)/8, $.122408098288933181E-10
    18	DATA ·erfcrodataL38<> + 56(SB)/8, $.484691106751495392E-07
    19	DATA ·erfcrodataL38<> + 64(SB)/8, $-.150147637632890281E-08
    20	DATA ·erfcrodataL38<> + 72(SB)/8, $23.999999999973521625
    21	DATA ·erfcrodataL38<> + 80(SB)/8, $27.226017111108365754
    22	DATA ·erfcrodataL38<> + 88(SB)/8, $-2.0
    23	DATA ·erfcrodataL38<> + 96(SB)/8, $0.100108802034478228E+00
    24	DATA ·erfcrodataL38<> + 104(SB)/8, $0.244588413746558125E+00
    25	DATA ·erfcrodataL38<> + 112(SB)/8, $-.669188879646637174E-01
    26	DATA ·erfcrodataL38<> + 120(SB)/8, $0.151311447000953551E-01
    27	DATA ·erfcrodataL38<> + 128(SB)/8, $-.284720833493302061E-02
    28	DATA ·erfcrodataL38<> + 136(SB)/8, $0.455491239358743212E-03
    29	DATA ·erfcrodataL38<> + 144(SB)/8, $-.631850539280720949E-04
    30	DATA ·erfcrodataL38<> + 152(SB)/8, $0.772532660726086679E-05
    31	DATA ·erfcrodataL38<> + 160(SB)/8, $-.843706007150936940E-06
    32	DATA ·erfcrodataL38<> + 168(SB)/8, $-.735330214904227472E-08
    33	DATA ·erfcrodataL38<> + 176(SB)/8, $0.753002008837084967E-09
    34	DATA ·erfcrodataL38<> + 184(SB)/8, $0.832482036660624637E-07
    35	DATA ·erfcrodataL38<> + 192(SB)/8, $-0.75
    36	DATA ·erfcrodataL38<> + 200(SB)/8, $.927765678007128609E-01
    37	DATA ·erfcrodataL38<> + 208(SB)/8, $.903621209344751506E-01
    38	DATA ·erfcrodataL38<> + 216(SB)/8, $-.344203375025257265E-02
    39	DATA ·erfcrodataL38<> + 224(SB)/8, $-.869243428221791329E-03
    40	DATA ·erfcrodataL38<> + 232(SB)/8, $.174699813107105603E-03
    41	DATA ·erfcrodataL38<> + 240(SB)/8, $.649481036316130000E-05
    42	DATA ·erfcrodataL38<> + 248(SB)/8, $-.895265844897118382E-05
    43	DATA ·erfcrodataL38<> + 256(SB)/8, $.135970046909529513E-05
    44	DATA ·erfcrodataL38<> + 264(SB)/8, $.277617717014748015E-06
    45	DATA ·erfcrodataL38<> + 272(SB)/8, $.810628018408232910E-08
    46	DATA ·erfcrodataL38<> + 280(SB)/8, $.210430084693497985E-07
    47	DATA ·erfcrodataL38<> + 288(SB)/8, $-.342138077525615091E-08
    48	DATA ·erfcrodataL38<> + 296(SB)/8, $-.165467946798610800E-06
    49	DATA ·erfcrodataL38<> + 304(SB)/8, $5.999999999988412824
    50	DATA ·erfcrodataL38<> + 312(SB)/8, $.468542210149072159E-01
    51	DATA ·erfcrodataL38<> + 320(SB)/8, $.465343528567604256E-01
    52	DATA ·erfcrodataL38<> + 328(SB)/8, $-.473338083650201733E-03
    53	DATA ·erfcrodataL38<> + 336(SB)/8, $-.147220659069079156E-03
    54	DATA ·erfcrodataL38<> + 344(SB)/8, $.755284723554388339E-05
    55	DATA ·erfcrodataL38<> + 352(SB)/8, $.116158570631428789E-05
    56	DATA ·erfcrodataL38<> + 360(SB)/8, $-.155445501551602389E-06
    57	DATA ·erfcrodataL38<> + 368(SB)/8, $-.616940119847805046E-10
    58	DATA ·erfcrodataL38<> + 376(SB)/8, $-.728705590727563158E-10
    59	DATA ·erfcrodataL38<> + 384(SB)/8, $-.983452460354586779E-08
    60	DATA ·erfcrodataL38<> + 392(SB)/8, $.365156164194346316E-08
    61	DATA ·erfcrodataL38<> + 400(SB)/8, $11.999999999996530775
    62	DATA ·erfcrodataL38<> + 408(SB)/8, $0.467773498104726584E-02
    63	DATA ·erfcrodataL38<> + 416(SB)/8, $0.206669853540920535E-01
    64	DATA ·erfcrodataL38<> + 424(SB)/8, $0.413339707081841473E-01
    65	DATA ·erfcrodataL38<> + 432(SB)/8, $0.482229658262131320E-01
    66	DATA ·erfcrodataL38<> + 440(SB)/8, $0.344449755901841897E-01
    67	DATA ·erfcrodataL38<> + 448(SB)/8, $0.130890907240765465E-01
    68	DATA ·erfcrodataL38<> + 456(SB)/8, $-.459266344100642687E-03
    69	DATA ·erfcrodataL38<> + 464(SB)/8, $-.337888800856913728E-02
    70	DATA ·erfcrodataL38<> + 472(SB)/8, $-.159103061687062373E-02
    71	DATA ·erfcrodataL38<> + 480(SB)/8, $-.501128905515922644E-04
    72	DATA ·erfcrodataL38<> + 488(SB)/8, $0.262775855852903132E-03
    73	DATA ·erfcrodataL38<> + 496(SB)/8, $0.103860982197462436E-03
    74	DATA ·erfcrodataL38<> + 504(SB)/8, $-.548835785414200775E-05
    75	DATA ·erfcrodataL38<> + 512(SB)/8, $-.157075054646618214E-04
    76	DATA ·erfcrodataL38<> + 520(SB)/8, $-.480056366276045110E-05
    77	DATA ·erfcrodataL38<> + 528(SB)/8, $0.198263013759701555E-05
    78	DATA ·erfcrodataL38<> + 536(SB)/8, $-.224394262958888780E-06
    79	DATA ·erfcrodataL38<> + 544(SB)/8, $-.321853693146683428E-06
    80	DATA ·erfcrodataL38<> + 552(SB)/8, $0.445073894984683537E-07
    81	DATA ·erfcrodataL38<> + 560(SB)/8, $0.660425940000555729E-06
    82	DATA ·erfcrodataL38<> + 568(SB)/8, $2.0
    83	DATA ·erfcrodataL38<> + 576(SB)/8, $8.63616855509444462538e-78
    84	DATA ·erfcrodataL38<> + 584(SB)/8, $1.00000000000000222044
    85	DATA ·erfcrodataL38<> + 592(SB)/8, $0.500000000000004237e+00
    86	DATA ·erfcrodataL38<> + 600(SB)/8, $0.416666664838056960e-01
    87	DATA ·erfcrodataL38<> + 608(SB)/8, $0.166666666630345592e+00
    88	DATA ·erfcrodataL38<> + 616(SB)/8, $0.138926439368309441e-02
    89	DATA ·erfcrodataL38<> + 624(SB)/8, $0.833349307718286047e-02
    90	DATA ·erfcrodataL38<> + 632(SB)/8, $-.693147180558298714e+00
    91	DATA ·erfcrodataL38<> + 640(SB)/8, $-.164659495826017651e-11
    92	DATA ·erfcrodataL38<> + 648(SB)/8, $.179001151181866548E+00
    93	DATA ·erfcrodataL38<> + 656(SB)/8, $-.144269504088896339e+01
    94	DATA ·erfcrodataL38<> + 664(SB)/8, $+281475245147134.9375
    95	DATA ·erfcrodataL38<> + 672(SB)/8, $.163116780021877404E+00
    96	DATA ·erfcrodataL38<> + 680(SB)/8, $-.201574395828120710E-01
    97	DATA ·erfcrodataL38<> + 688(SB)/8, $-.185726336009394125E-02
    98	DATA ·erfcrodataL38<> + 696(SB)/8, $.199349204957273749E-02
    99	DATA ·erfcrodataL38<> + 704(SB)/8, $-.554902415532606242E-03
   100	DATA ·erfcrodataL38<> + 712(SB)/8, $-.638914789660242846E-05
   101	DATA ·erfcrodataL38<> + 720(SB)/8, $-.424441522653742898E-04
   102	DATA ·erfcrodataL38<> + 728(SB)/8, $.827967511921486190E-04
   103	DATA ·erfcrodataL38<> + 736(SB)/8, $.913965446284062654E-05
   104	DATA ·erfcrodataL38<> + 744(SB)/8, $.277344791076320853E-05
   105	DATA ·erfcrodataL38<> + 752(SB)/8, $-.467239678927239526E-06
   106	DATA ·erfcrodataL38<> + 760(SB)/8, $.344814065920419986E-07
   107	DATA ·erfcrodataL38<> + 768(SB)/8, $-.366013491552527132E-05
   108	DATA ·erfcrodataL38<> + 776(SB)/8, $.181242810023783439E-05
   109	DATA ·erfcrodataL38<> + 784(SB)/8, $2.999999999991234567
   110	DATA ·erfcrodataL38<> + 792(SB)/8, $1.0
   111	GLOBL ·erfcrodataL38<> + 0(SB), RODATA, $800
   112	
   113	// Table of log correction terms
   114	DATA ·erfctab2069<> + 0(SB)/8, $0.442737824274138381e-01
   115	DATA ·erfctab2069<> + 8(SB)/8, $0.263602189790660309e-01
   116	DATA ·erfctab2069<> + 16(SB)/8, $0.122565642281703586e-01
   117	DATA ·erfctab2069<> + 24(SB)/8, $0.143757052860721398e-02
   118	DATA ·erfctab2069<> + 32(SB)/8, $-.651375034121276075e-02
   119	DATA ·erfctab2069<> + 40(SB)/8, $-.119317678849450159e-01
   120	DATA ·erfctab2069<> + 48(SB)/8, $-.150868749549871069e-01
   121	DATA ·erfctab2069<> + 56(SB)/8, $-.161992609578469234e-01
   122	DATA ·erfctab2069<> + 64(SB)/8, $-.154492360403337917e-01
   123	DATA ·erfctab2069<> + 72(SB)/8, $-.129850717389178721e-01
   124	DATA ·erfctab2069<> + 80(SB)/8, $-.892902649276657891e-02
   125	DATA ·erfctab2069<> + 88(SB)/8, $-.338202636596794887e-02
   126	DATA ·erfctab2069<> + 96(SB)/8, $0.357266307045684762e-02
   127	DATA ·erfctab2069<> + 104(SB)/8, $0.118665304327406698e-01
   128	DATA ·erfctab2069<> + 112(SB)/8, $0.214434994118118914e-01
   129	DATA ·erfctab2069<> + 120(SB)/8, $0.322580645161290314e-01
   130	GLOBL ·erfctab2069<> + 0(SB), RODATA, $128
   131	
   132	// Erfc returns the complementary error function of the argument.
   133	//
   134	// Special cases are:
   135	//      Erfc(+Inf) = 0
   136	//      Erfc(-Inf) = 2
   137	//      Erfc(NaN) = NaN
   138	// The algorithm used is minimax polynomial approximation
   139	// with coefficients determined with a Remez exchange algorithm.
   140	// This assembly implementation handles inputs in the range [-2.11, +15].
   141	// For all other inputs we call the generic Go implementation.
   142	
   143	TEXT	·erfcAsm(SB), NOSPLIT|NOFRAME, $0-16
   144		MOVD	x+0(FP), R1
   145		MOVD	$Neg2p11, R2
   146		CMPUBGT	R1, R2, usego
   147	
   148		FMOVD	x+0(FP), F0
   149		MOVD	$·erfcrodataL38<>+0(SB), R9
   150		FMOVD	F0, F2
   151		SRAD	$48, R1
   152		MOVH	R1, R2
   153		ANDW	$0x7FFF, R1
   154		MOVH	$Pos15, R3
   155		CMPW	R1, R3
   156		BGT	usego
   157		MOVH	$0x3FFF, R3
   158		MOVW	R1, R6
   159		MOVW	R3, R7
   160		CMPBGT	R6, R7, L2
   161		MOVH	$0x3FEF, R3
   162		MOVW	R3, R7
   163		CMPBGT	R6, R7, L3
   164		MOVH	$0x2FFF, R2
   165		MOVW	R2, R7
   166		CMPBGT	R6, R7, L4
   167		FMOVD	792(R9), F0
   168		WFSDB	V2, V0, V2
   169		FMOVD	F2, ret+8(FP)
   170		RET
   171	
   172	L2:
   173		LTDBR	F0, F0
   174		MOVH	$0x0, R4
   175		BLTU	L3
   176		FMOVD	F0, F1
   177	L9:
   178		MOVH	$0x400F, R3
   179		MOVW	R1, R6
   180		MOVW	R3, R7
   181		CMPBGT	R6, R7, L10
   182		FMOVD	784(R9), F3
   183		FSUB	F1, F3
   184		VLEG	$0, 776(R9), V20
   185		WFDDB	V1, V3, V6
   186		VLEG	$0, 768(R9), V18
   187		FMOVD	760(R9), F7
   188		FMOVD	752(R9), F5
   189		VLEG	$0, 744(R9), V16
   190		FMOVD	736(R9), F3
   191		FMOVD	728(R9), F2
   192		FMOVD	720(R9), F4
   193		WFMDB	V6, V6, V1
   194		FMUL	F0, F0
   195		MOVH	$0x0, R3
   196		WFMADB	V1, V7, V20, V7
   197		WFMADB	V1, V5, V18, V5
   198		WFMADB	V1, V7, V16, V7
   199		WFMADB	V1, V5, V3, V5
   200		WFMADB	V1, V7, V4, V7
   201		WFMADB	V1, V5, V2, V5
   202		FMOVD	712(R9), F2
   203		WFMADB	V1, V7, V2, V7
   204		FMOVD	704(R9), F2
   205		WFMADB	V1, V5, V2, V5
   206		FMOVD	696(R9), F2
   207		WFMADB	V1, V7, V2, V7
   208		FMOVD	688(R9), F2
   209		MOVH	$0x0, R1
   210		WFMADB	V1, V5, V2, V5
   211		FMOVD	680(R9), F2
   212		WFMADB	V1, V7, V2, V7
   213		FMOVD	672(R9), F2
   214		WFMADB	V1, V5, V2, V1
   215		FMOVD	664(R9), F3
   216		WFMADB	V6, V7, V1, V7
   217		FMOVD	656(R9), F5
   218		FMOVD	648(R9), F2
   219		WFMADB	V0, V5, V3, V5
   220		WFMADB	V6, V7, V2, V7
   221	L11:
   222		LGDR	F5, R6
   223		WFSDB	V0, V0, V2
   224		WORD	$0xED509298	//sdb	%f5,.L55-.L38(%r9)
   225		BYTE	$0x00
   226		BYTE	$0x1B
   227		FMOVD	640(R9), F6
   228		FMOVD	632(R9), F4
   229		WFMSDB	V5, V6, V2, V6
   230		WFMSDB	V5, V4, V0, V4
   231		FMOVD	624(R9), F2
   232		FADD	F6, F4
   233		FMOVD	616(R9), F0
   234		FMOVD	608(R9), F6
   235		WFMADB	V4, V0, V2, V0
   236		FMOVD	600(R9), F3
   237		WFMDB	V4, V4, V2
   238		MOVH	R6,R6
   239		ADD	R6, R3
   240		WFMADB	V4, V3, V6, V3
   241		FMOVD	592(R9), F6
   242		WFMADB	V0, V2, V3, V0
   243		FMOVD	584(R9), F3
   244		WFMADB	V4, V6, V3, V6
   245		RISBGZ	$57, $60, $3, R3, R12
   246		WFMADB	V2, V0, V6, V0
   247		MOVD	$·erfctab2069<>+0(SB), R5
   248		WORD	$0x682C5000	//ld	%f2,0(%r12,%r5)
   249		FMADD	F2, F4, F4
   250		RISBGN	$0, $15, $48, R3, R4
   251		WFMADB	V4, V0, V2, V4
   252		LDGR	R4, F2
   253		FMADD	F4, F2, F2
   254		MOVW	R2, R6
   255		CMPBLE	R6, $0, L20
   256		MOVW	R1, R6
   257		CMPBEQ	R6, $0, L21
   258		WORD	$0xED709240	//mdb	%f7,.L66-.L38(%r9)
   259		BYTE	$0x00
   260		BYTE	$0x1C
   261	L21:
   262		FMUL	F7, F2
   263	L1:
   264		FMOVD	F2, ret+8(FP)
   265		RET
   266	L3:
   267		LTDBR	F0, F0
   268		BLTU	L30
   269		FMOVD	568(R9), F2
   270		WFSDB	V0, V2, V0
   271	L8:
   272		WFMDB	V0, V0, V4
   273		FMOVD	560(R9), F2
   274		FMOVD	552(R9), F6
   275		FMOVD	544(R9), F1
   276		WFMADB	V4, V6, V2, V6
   277		FMOVD	536(R9), F2
   278		WFMADB	V4, V1, V2, V1
   279		FMOVD	528(R9), F3
   280		FMOVD	520(R9), F2
   281		WFMADB	V4, V6, V3, V6
   282		WFMADB	V4, V1, V2, V1
   283		FMOVD	512(R9), F3
   284		FMOVD	504(R9), F2
   285		WFMADB	V4, V6, V3, V6
   286		WFMADB	V4, V1, V2, V1
   287		FMOVD	496(R9), F3
   288		FMOVD	488(R9), F2
   289		WFMADB	V4, V6, V3, V6
   290		WFMADB	V4, V1, V2, V1
   291		FMOVD	480(R9), F3
   292		FMOVD	472(R9), F2
   293		WFMADB	V4, V6, V3, V6
   294		WFMADB	V4, V1, V2, V1
   295		FMOVD	464(R9), F3
   296		FMOVD	456(R9), F2
   297		WFMADB	V4, V6, V3, V6
   298		WFMADB	V4, V1, V2, V1
   299		FMOVD	448(R9), F3
   300		FMOVD	440(R9), F2
   301		WFMADB	V4, V6, V3, V6
   302		WFMADB	V4, V1, V2, V1
   303		FMOVD	432(R9), F3
   304		FMOVD	424(R9), F2
   305		WFMADB	V4, V6, V3, V6
   306		WFMADB	V4, V1, V2, V1
   307		FMOVD	416(R9), F3
   308		FMOVD	408(R9), F2
   309		WFMADB	V4, V6, V3, V6
   310		FMADD	F1, F4, F2
   311		FMADD	F6, F0, F2
   312		MOVW	R2, R6
   313		CMPBGE	R6, $0, L1
   314		FMOVD	568(R9), F0
   315		WFSDB	V2, V0, V2
   316		BR	L1
   317	L10:
   318		MOVH	$0x401F, R3
   319		MOVW	R1, R6
   320		MOVW	R3, R7
   321		CMPBLE	R6, R7, L36
   322		MOVH	$0x402F, R3
   323		MOVW	R3, R7
   324		CMPBGT	R6, R7, L13
   325		FMOVD	400(R9), F3
   326		FSUB	F1, F3
   327		VLEG	$0, 392(R9), V20
   328		WFDDB	V1, V3, V6
   329		VLEG	$0, 384(R9), V18
   330		FMOVD	376(R9), F2
   331		FMOVD	368(R9), F4
   332		VLEG	$0, 360(R9), V16
   333		FMOVD	352(R9), F7
   334		FMOVD	344(R9), F3
   335		FMUL	F0, F0
   336		WFMDB	V6, V6, V1
   337		FMOVD	656(R9), F5
   338		MOVH	$0x0, R3
   339		WFMADB	V1, V2, V20, V2
   340		WFMADB	V1, V4, V18, V4
   341		WFMADB	V1, V2, V16, V2
   342		WFMADB	V1, V4, V7, V4
   343		WFMADB	V1, V2, V3, V2
   344		FMOVD	336(R9), F3
   345		WFMADB	V1, V4, V3, V4
   346		FMOVD	328(R9), F3
   347		WFMADB	V1, V2, V3, V2
   348		FMOVD	320(R9), F3
   349		WFMADB	V1, V4, V3, V1
   350		FMOVD	312(R9), F7
   351		WFMADB	V6, V2, V1, V2
   352		MOVH	$0x0, R1
   353		FMOVD	664(R9), F3
   354		FMADD	F2, F6, F7
   355		WFMADB	V0, V5, V3, V5
   356		BR	L11
   357	L35:
   358		WORD	$0xB3130010	//lcdbr	%f1,%f0
   359		BR	L9
   360	L36:
   361		FMOVD	304(R9), F3
   362		FSUB	F1, F3
   363		VLEG	$0, 296(R9), V20
   364		WFDDB	V1, V3, V6
   365		FMOVD	288(R9), F5
   366		FMOVD	280(R9), F1
   367		FMOVD	272(R9), F2
   368		VLEG	$0, 264(R9), V18
   369		VLEG	$0, 256(R9), V16
   370		FMOVD	248(R9), F3
   371		FMOVD	240(R9), F4
   372		WFMDB	V6, V6, V7
   373		FMUL	F0, F0
   374		MOVH	$0x0, R3
   375		FMADD	F5, F7, F1
   376		WFMADB	V7, V2, V20, V2
   377		WFMADB	V7, V1, V18, V1
   378		WFMADB	V7, V2, V16, V2
   379		WFMADB	V7, V1, V3, V1
   380		WFMADB	V7, V2, V4, V2
   381		FMOVD	232(R9), F4
   382		WFMADB	V7, V1, V4, V1
   383		FMOVD	224(R9), F4
   384		WFMADB	V7, V2, V4, V2
   385		FMOVD	216(R9), F4
   386		WFMADB	V7, V1, V4, V1
   387		FMOVD	208(R9), F4
   388		MOVH	$0x0, R1
   389		WFMADB	V7, V2, V4, V7
   390		FMOVD	656(R9), F5
   391		WFMADB	V6, V1, V7, V1
   392		FMOVD	664(R9), F3
   393		FMOVD	200(R9), F7
   394		WFMADB	V0, V5, V3, V5
   395		FMADD	F1, F6, F7
   396		BR	L11
   397	L4:
   398		FMOVD	192(R9), F1
   399		FMADD	F0, F0, F1
   400		FMOVD	184(R9), F3
   401		WFMDB	V1, V1, V0
   402		FMOVD	176(R9), F4
   403		FMOVD	168(R9), F6
   404		WFMADB	V0, V4, V3, V4
   405		FMOVD	160(R9), F3
   406		WFMADB	V0, V6, V3, V6
   407		FMOVD	152(R9), F5
   408		FMOVD	144(R9), F3
   409		WFMADB	V0, V4, V5, V4
   410		WFMADB	V0, V6, V3, V6
   411		FMOVD	136(R9), F5
   412		FMOVD	128(R9), F3
   413		WFMADB	V0, V4, V5, V4
   414		WFMADB	V0, V6, V3, V6
   415		FMOVD	120(R9), F5
   416		FMOVD	112(R9), F3
   417		WFMADB	V0, V4, V5, V4
   418		WFMADB	V0, V6, V3, V6
   419		FMOVD	104(R9), F5
   420		FMOVD	96(R9), F3
   421		WFMADB	V0, V4, V5, V4
   422		WFMADB	V0, V6, V3, V0
   423		FMOVD	F2, F6
   424		FMADD	F4, F1, F0
   425		WORD	$0xED609318	//sdb	%f6,.L39-.L38(%r9)
   426		BYTE	$0x00
   427		BYTE	$0x1B
   428		WFMSDB	V2, V0, V6, V2
   429		FMOVD	F2, ret+8(FP)
   430		RET
   431	L30:
   432		WORD	$0xED009238	//adb	%f0,.L67-.L38(%r9)
   433		BYTE	$0x00
   434		BYTE	$0x1A
   435		BR	L8
   436	L20:
   437		FMOVD	88(R9), F0
   438		WFMADB	V7, V2, V0, V2
   439		WORD	$0xB3130022	//lcdbr	%f2,%f2
   440		FMOVD	F2, ret+8(FP)
   441		RET
   442	L13:
   443		MOVH	$0x403A, R3
   444		MOVW	R1, R6
   445		MOVW	R3, R7
   446		CMPBLE	R6, R7, L4
   447		WORD	$0xED109050	//cdb	%f1,.L128-.L38(%r9)
   448		BYTE	$0x00
   449		BYTE	$0x19
   450		BGE	L37
   451		BVS	L37
   452		FMOVD	72(R9), F6
   453		FSUB	F1, F6
   454		MOVH	$0x1000, R3
   455		FDIV	F1, F6
   456		MOVH	$0x1000, R1
   457	L17:
   458		WFMDB	V6, V6, V1
   459		FMOVD	64(R9), F2
   460		FMOVD	56(R9), F4
   461		FMOVD	48(R9), F3
   462		WFMADB	V1, V3, V2, V3
   463		FMOVD	40(R9), F2
   464		WFMADB	V1, V2, V4, V2
   465		FMOVD	32(R9), F4
   466		WFMADB	V1, V3, V4, V3
   467		FMOVD	24(R9), F4
   468		WFMADB	V1, V2, V4, V2
   469		FMOVD	16(R9), F4
   470		WFMADB	V1, V3, V4, V3
   471		FMOVD	8(R9), F4
   472		WFMADB	V1, V2, V4, V1
   473		FMUL	F0, F0
   474		WFMADB	V3, V6, V1, V3
   475		FMOVD	656(R9), F5
   476		FMOVD	664(R9), F4
   477		FMOVD	0(R9), F7
   478		WFMADB	V0, V5, V4, V5
   479		FMADD	F6, F3, F7
   480		BR	L11
   481	L14:
   482		FMOVD	72(R9), F6
   483		FSUB	F1, F6
   484		MOVH	$0x403A, R3
   485		FDIV	F1, F6
   486		MOVW	R1, R6
   487		MOVW	R3, R7
   488		CMPBEQ	R6, R7, L23
   489		MOVH	$0x0, R3
   490		MOVH	$0x0, R1
   491		BR	L17
   492	L37:
   493		WFCEDBS	V0, V0, V0
   494		BVS	L1
   495		MOVW	R2, R6
   496		CMPBLE	R6, $0, L18
   497		MOVH	$0x7FEF, R2
   498		MOVW	R1, R6
   499		MOVW	R2, R7
   500		CMPBGT	R6, R7, L24
   501	
   502		WORD	$0xA5400010	//iihh	%r4,16
   503		LDGR	R4, F2
   504		FMUL	F2, F2
   505		BR	L1
   506	L23:
   507		MOVH	$0x1000, R3
   508		MOVH	$0x1000, R1
   509		BR	L17
   510	L24:
   511		FMOVD	$0, F2
   512		BR	L1
   513	L18:
   514		MOVH	$0x7FEF, R2
   515		MOVW	R1, R6
   516		MOVW	R2, R7
   517		CMPBGT	R6, R7, L25
   518		WORD	$0xA5408010	//iihh	%r4,32784
   519		FMOVD	568(R9), F2
   520		LDGR	R4, F0
   521		FMADD	F2, F0, F2
   522		BR	L1
   523	L25:
   524		FMOVD	568(R9), F2
   525		BR	L1
   526	usego:
   527		BR	·erfc(SB)

View as plain text