]> Cypherpunks repositories - gostls13.git/commitdiff
math: use new mnemonics for 'rotate then insert' on s390x
authorMichael Munday <mike.munday@ibm.com>
Tue, 29 Jan 2019 15:58:57 +0000 (15:58 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 16 Apr 2019 15:34:41 +0000 (15:34 +0000)
Mnemonics for these instructions were added to the assembler in
CL 159357.

Change-Id: Ie11c45ecc9cead9a8850fcc929b0211cfd980fe5
Reviewed-on: https://go-review.googlesource.com/c/go/+/160157
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
17 files changed:
src/math/acosh_s390x.s
src/math/asinh_s390x.s
src/math/atan2_s390x.s
src/math/atan_s390x.s
src/math/atanh_s390x.s
src/math/cbrt_s390x.s
src/math/cosh_s390x.s
src/math/erf_s390x.s
src/math/erfc_s390x.s
src/math/exp_s390x.s
src/math/expm1_s390x.s
src/math/log10_s390x.s
src/math/log1p_s390x.s
src/math/log_s390x.s
src/math/pow_s390x.s
src/math/sinh_s390x.s
src/math/tanh_s390x.s

index 87a5d00154dfec0186f8c3c934271e1940b9114e..9294c48e6b92b3e8669d076ad4881bc7fa98aa82 100644 (file)
@@ -90,17 +90,11 @@ L2:
        MOVH    $0x0, R1
        SUBW    R5, R3
        FMOVD   $0, F10
-       WORD    $0xEC4320AF     //risbg %r4,%r3,32,128+47,0
-       BYTE    $0x00
-       BYTE    $0x55
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,64-13
-       BYTE    $0x33
-       BYTE    $0x55
+       RISBGZ  $32, $47, $0, R3, R4
+       RISBGZ  $57, $60, $51, R3, R3
        BYTE    $0x18   //lr    %r2,%r4
        BYTE    $0x24
-       WORD    $0xEC14001F     //risbgn        %r1,%r4,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R4, R1
        SUBW    $0x100000, R2
        SRAW    $8, R2, R2
        ORW     $0x45000000, R2
@@ -119,9 +113,7 @@ L5:
        FMOVD   64(R9), F2
        WFMADB  V6, V4, V1, V6
        FMOVD   56(R9), F1
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $57, $60, $0, R3, R3
        WFMADB  V0, V2, V1, V2
        FMOVD   48(R9), F1
        WFMADB  V4, V6, V2, V6
@@ -158,15 +150,9 @@ L4:
        MOVH    $0x0, R1
        SUBW    R5, R3
        SRAW    $8, R3, R2
-       WORD    $0xEC4320AF     //risbg %r4,%r3,32,128+47,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $32, $47, $0, R3, R4
        ANDW    $0xFFFFFF00, R2
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,64-13
-       BYTE    $0x33
-       BYTE    $0x55
+       RISBGZ  $57, $60, $51, R3, R3
        ORW     $0x45000000, R2
-       WORD    $0xEC14001F     //risbgn        %r1,%r4,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R4, R1
        BR      L5
index a3680c661fbd8a8ea4fae18274d3079ade2d43a3..1bcf2954c44d65f4f3ee6667866d1e9d1a8abb5d 100644 (file)
@@ -98,14 +98,10 @@ L9:
        MOVH    $0x0, R2
        SUBW    R5, R3
        FMOVD   $0, F8
-       WORD    $0xEC4320AF     //risbg %r4,%r3,32,128+47,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $32, $47, $0, R3, R4
        BYTE    $0x18   //lr    %r1,%r4
        BYTE    $0x14
-       WORD    $0xEC24001F     //risbgn        %r2,%r4,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R4, R2
        SUBW    $0x100000, R1
        SRAW    $8, R1, R1
        ORW     $0x45000000, R1
@@ -137,13 +133,9 @@ L5:
        SRAD    $32, R5
        MOVH    $0x0, R2
        SUBW    R5, R3
-       WORD    $0xEC4320AF     //risbg %r4,%r3,32,128+47,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $32, $47, $0, R3, R4
        SRAW    $8, R4, R1
-       WORD    $0xEC24001F     //risbgn        %r2,%r4,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R4, R2
        ORW     $0x45000000, R1
 L6:
        LDGR    R2, F2
@@ -160,9 +152,7 @@ L6:
        FMOVD   144(R9), F0
        WFMADB  V6, V4, V1, V6
        FMOVD   136(R9), F1
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,64-13
-       BYTE    $0x33
-       BYTE    $0x55
+       RISBGZ  $57, $60, $51, R3, R3
        WFMADB  V2, V0, V1, V0
        FMOVD   128(R9), F1
        WFMADB  V4, V6, V0, V6
index c7a8a09d056351e36d4d7e323fe97c10be4936ac..6b9af252e2db514ed72c30b53d8eeeae63940fe1 100644 (file)
@@ -144,16 +144,10 @@ Normal:
        MOVD    $·atan2rodataL25<>+0(SB), R9
        LGDR    F0, R2
        LGDR    F2, R1
-       WORD    $0xEC2220BF     //risbgn        %r2,%r2,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
-       WORD    $0xEC1120BF     //risbgn        %r1,%r1,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
+       RISBGNZ $32, $63, $32, R2, R2
+       RISBGNZ $32, $63, $32, R1, R1
        WORD    $0xB9170032     //llgtr %r3,%r2
-       WORD    $0xEC523FBF     //risbg %r5,%r2,64-1,128+63,64+32+1
-       BYTE    $0x61
-       BYTE    $0x55
+       RISBGZ  $63, $63, $33, R2, R5
        WORD    $0xB9170041     //llgtr %r4,%r1
        WFLCDB  V0, V20
        MOVW    R4, R6
@@ -224,9 +218,7 @@ L7:
        MOVW    R1, R6
        CMPBGE  R6, $0, L1
 L18:
-       WORD    $0xEC223ABC     //risbg %r2,%r2,58,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $58, $60, $3, R2, R2
        MOVD    $·atan2xpi2h<>+0(SB), R1
        MOVD    ·atan2xpim<>+0(SB), R3
        LDGR    R3, F0
index 713727ddbf809d6142ed0dc05bbd5b39fc0d92f3..3a7e59bb1ac62852663cbcbdee31c72e9ad11428 100644 (file)
@@ -55,9 +55,7 @@ TEXT  ·atanAsm(SB), NOSPLIT, $0-16
        MOVD    $·atanrodataL8<>+0(SB), R5
        MOVH    $0x3FE0, R3
        LGDR    F0, R1
-       WORD    $0xEC1120BF     //risbgn        %r1,%r1,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
+       RISBGNZ $32, $63, $32, R1, R1
        RLL     $16, R1, R2
        ANDW    $0x7FF0, R2
        MOVW    R2, R6
@@ -66,9 +64,7 @@ TEXT  ·atanAsm(SB), NOSPLIT, $0-16
        MOVD    $·atanxmone<>+0(SB), R3
        FMOVD   0(R3), F2
        WFDDB   V0, V2, V0
-       WORD    $0xEC113FBF     //risbg %r1,%r1,64-1,128+63,64+32+1
-       BYTE    $0x61
-       BYTE    $0x55
+       RISBGZ  $63, $63, $33, R1, R1
        MOVD    $·atanxpi2h<>+0(SB), R3
        MOVWZ   R1, R1
        SLD     $3, R1, R1
index e7c63597041b94a4ad2cd8dbac1ca33a1ba26d14..c4ec2b2648d5cf928fd142dd361c63471d5d7c54 100644 (file)
@@ -136,9 +136,7 @@ L9:
     BYTE    $0x1B
     SUBW    R4, R2
     WFSDB   V3, V2, V3
-    WORD    $0xEC1220AF //risbg %r1,%r2,32,128+47,0
-    BYTE    $0x00
-    BYTE    $0x55
+    RISBGZ  $32, $47, $0, R2, R1
     SLD $32, R1, R1
     LDGR    R1, F2
     WFMADB  V4, V2, V16, V4
@@ -162,9 +160,7 @@ L9:
     WFMADB  V2, V6, V3, V6
     VLVGF   $0, R1, V4
     LDEBR   F4, F4
-    WORD    $0xEC2239BC //risbg %r2,%r2,57,128+60,64-13
-    BYTE    $0x33
-    BYTE    $0x55
+    RISBGZ  $57, $60, $51, R2, R2
     MOVD    $·atanhtab2076<>+0(SB), R1
     FMOVD   16(R5), F3
     WORD    $0x68521000 //ld    %f5,0(%r2,%r1)
index d79b48fc79fd24edda3ad0fa8baf7231d6d33fea..87bba531b8cb8d9c38edbf650cf74d599e2c4c0e 100644 (file)
@@ -106,18 +106,12 @@ L2:
        LGDR    F2, R2
        SRAD    $32, R2
 L4:
-       WORD    $0xEC3239BE     //risbg %r3,%r2,57,128+62,64-25
-       BYTE    $0x27
-       BYTE    $0x55
+       RISBGZ  $57, $62, $39, R2, R3
        MOVD    $·cbrttab12067<>+0(SB), R1
        WORD    $0x48131000     //lh    %r1,0(%r3,%r1)
-       WORD    $0xEC3239BE     //risbg %r3,%r2,57,128+62,64-19
-       BYTE    $0x2D
-       BYTE    $0x55
+       RISBGZ  $57, $62, $45, R2, R3
        MOVD    $·cbrttab22068<>+0(SB), R5
-       WORD    $0xEC223CBF     //risbgn        %r2,%r2,64-4,128+63,64+44+4
-       BYTE    $0x70
-       BYTE    $0x59
+       RISBGNZ $60, $63, $48, R2, R2
        WORD    $0x4A135000     //ah    %r1,0(%r3,%r5)
        BYTE    $0x18   //lr    %r3,%r1
        BYTE    $0x31
index 5e7a8d88ccc805b635bbb451fd8c6cbf55d40d25..ca1d86e803f0342802049494353510d3ba95575e 100644 (file)
@@ -116,14 +116,10 @@ L14:
        MOVD    $coshe1<>+0(SB), R3
        WFMADB  V1, V6, V5, V6
        FMOVD   0(R3), F5
-       WORD    $0xEC21000F     //risbgn %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        WFMADB  V1, V7, V5, V1
        BVS     L22
-       WORD    $0xEC4139BC     //risbg %r4,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R4
        MOVD    $coshtab<>+0(SB), R3
        WFMADB  V3, V6, V1, V6
        WORD    $0x68043000     //ld    %f0,0(%r4,%r3)
@@ -131,9 +127,7 @@ L14:
        WORD    $0xA71AF000     //ahi   %r1,-4096
        WFMADB  V2, V6, V0, V6
 L17:
-       WORD    $0xEC21000F     //risbgn %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        LDGR    R2, F2
        FMADD   F2, F6, F2
        MOVD    $coshx4ff<>+0(SB), R1
@@ -176,27 +170,19 @@ L20:
        LGDR    F3, R1
        MOVD    $coshtab<>+0(SB), R5
        WFMADB  V4, V6, V1, V3
-       WORD    $0xEC4139BC     //risbg %r4,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R4
        WFMSDB  V4, V6, V1, V6
        WORD    $0x68145000     //ld %f1,0(%r4,%r5)
        WFMSDB  V4, V1, V0, V2
        WORD    $0xA7487FBE     //lhi %r4,32702
        FMADD   F3, F2, F1
        SUBW    R1, R4
-       WORD    $0xECC439BC     //risbg %r12,%r4,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R4, R12
        WORD    $0x682C5000     //ld %f2,0(%r12,%r5)
        FMSUB   F2, F4, F0
-       WORD    $0xEC21000F     //risbgn %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        WFMADB  V0, V6, V2, V6
-       WORD    $0xEC34000F     //risbgn %r3,%r4,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R4, R3
        LDGR    R2, F2
        LDGR    R3, F0
        FMADD   F2, F1, F2
@@ -210,9 +196,7 @@ L22:
        MOVD    $coshtab<>+0(SB), R4
        SUBW    R1, R3
        WFMSDB  V3, V6, V1, V6
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R3, R3
        WORD    $0x68034000     //ld %f0,0(%r3,%r4)
        FMSUB   F0, F3, F2
        WORD    $0xA7386FBE     //lhi %r3,28606
index 5be5d4de16aa4f0e522228868950e967cb233456..99ab436e0945147eb19fe8f444abe58ddea4eecf 100644 (file)
@@ -104,9 +104,7 @@ TEXT        ·erfAsm(SB), NOSPLIT, $0-16
        FMOVD   F0, F6
        SRAD    $48, R1
        MOVH    $16383, R3
-       WORD    $0xEC2131BF     //risbg %r2,%r1,49,128+63,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $49, $63, $0, R1, R2
        MOVW    R2, R6
        MOVW    R3, R7
        CMPBGT  R6, R7, L2
@@ -221,13 +219,9 @@ L9:
        FMOVD   200(R5), F3
        MOVH    R1,R1
        WFMADB  V4, V3, V5, V3
-       WORD    $0xEC2139BC     //risbg %r2,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R2
        WFMADB  V1, V6, V3, V6
-       WORD    $0xEC31000F     //risbgn %r3,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R3
        MOVD    $·erftab2066<>+0(SB), R1
        FMOVD   192(R5), F1
        LDGR    R3, F3
index 0cb606d6de7db98b43a818744441663da73e15e8..7e9d469cc6e0d2d81fa32186772f8a8ba7acb930 100644 (file)
@@ -242,16 +242,12 @@ L11:
        WFMADB  V0, V2, V3, V0
        FMOVD   584(R9), F3
        WFMADB  V4, V6, V3, V6
-       WORD    $0xECC339BC     //risbg %r12,%r3,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R3, R12
        WFMADB  V2, V0, V6, V0
        MOVD    $·erfctab2069<>+0(SB), R5
        WORD    $0x682C5000     //ld    %f2,0(%r12,%r5)
        FMADD   F2, F4, F4
-       WORD    $0xEC43000F     //risbgn        %r4,%r3,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R3, R4
        WFMADB  V4, V0, V2, V4
        LDGR    R4, F2
        FMADD   F4, F2, F2
index cef1ce768481533b742c867412c557713d6b8568..e0ec8230738ad9a07fd8ce2073f20dc05a599e55 100644 (file)
@@ -91,9 +91,7 @@ L2:
        WFMADB  V0, V4, V3, V4
        FMOVD   8(R5), F3
        WFMADB  V2, V1, V3, V1
-       WORD    $0xEC3139BC     //risbg %r3,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R3
        WFMADB  V0, V4, V1, V0
        MOVD    $·exptexp<>+0(SB), R2
        WORD    $0x68432000     //ld    %f4,0(%r3,%r2)
@@ -142,9 +140,7 @@ L6:
        WFMADB  V6, V1, V7, V1
        FMOVD   8(R5), F7
        WFMADB  V4, V5, V7, V5
-       WORD    $0xEC3139BC     //risbg %r3,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R3
        WFMADB  V6, V1, V5, V6
        MOVD    $·exptexp<>+0(SB), R2
        WFCHDBS V2, V0, V0
@@ -154,9 +150,7 @@ L6:
        WFMADB  V4, V6, V1, V4
        BEQ     L21
        ADDW    $0xF000, R1
-       WORD    $0xEC21000F     //risbgn        %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        LDGR    R2, F0
        FMADD   F0, F4, F0
        MOVD    $·expx4ff<>+0(SB), R3
@@ -170,9 +164,7 @@ L13:
        RET
 L21:
        ADDW    $0x1000, R1
-       WORD    $0xEC21000F     //risbgn        %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        LDGR    R2, F0
        FMADD   F0, F4, F0
        MOVD    $·expx2ff<>+0(SB), R3
index c7c793b982b9589a11bb1fbcffce4b51a85d256e..16c861bb18b605778b8716accad38d9149c3cedf 100644 (file)
@@ -99,9 +99,7 @@ L2:
        FMADD   F5, F4, F0
        FMOVD   16(R5), F6
        WFMADB  V0, V2, V6, V2
-       WORD    $0xEC3139BC     //risbg %r3,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R3
        WORD    $0xB3130022     //lcdbr %f2,%f2
        MOVD    $·expm1tab<>+0(SB), R2
        WORD    $0x68432000     //ld    %f4,0(%r3,%r2)
@@ -157,9 +155,7 @@ L6:
        FMADD   F4, F1, F6
        LGDR    F5, R1
        WORD    $0xB3130066     //lcdbr %f6,%f6
-       WORD    $0xEC3139BC     //risbg %r3,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R3
        WORD    $0x68432000     //ld    %f4,0(%r3,%r2)
        FMADD   F4, F1, F1
        MOVD    $0x4086000000000000, R2
@@ -168,9 +164,7 @@ L6:
        WFCHDBS V2, V0, V0
        BEQ     L21
        ADDW    $0xF000, R1
-       WORD    $0xEC21000F     //risbgn        %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        LDGR    R2, F0
        FMADD   F0, F4, F0
        MOVD    $·expm1x4ff<>+0(SB), R3
@@ -186,9 +180,7 @@ L7:
        RET
 L21:
        ADDW    $0x1000, R1
-       WORD    $0xEC21000F     //risbgn        %r2,%r1,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R1, R2
        LDGR    R2, F0
        FMADD   F0, F4, F0
        MOVD    $·expm1x2ff<>+0(SB), R3
index d6b750065bda72a8ea112c85cd85e97bde328bf5..3638afe700df47ad95aa2bc16c9e07ed5ee04b23 100644 (file)
@@ -62,13 +62,9 @@ TEXT ·log10Asm(SB),NOSPLIT,$8-16
        BYTE    $0xFF
        WORD    $0x5840F008     //l %r4, 8(%r15)
        SUBW    R4, R2, R3
-       WORD    $0xEC5320AF     //risbg %r5,%r3,32,128+47,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $32, $47, $0, R3, R5
        MOVH    $0x0, R1
-       WORD    $0xEC15001F     //risbgn %r1,%r5,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R5, R1
        WORD    $0xC0590016     //iilf %r5,1507327
        BYTE    $0xFF
        BYTE    $0xFF
@@ -94,13 +90,9 @@ L2:
        BYTE    $0x1C
        FMOVD   F0, x-8(SP)
        WORD    $0x5B20F008     //s %r2, 8(%r15)
-       WORD    $0xEC3239BC     //risbg %r3,%r2,57,128+60,64-13
-       BYTE    $0x33
-       BYTE    $0x55
+       RISBGZ  $57, $60, $51, R2, R3
        ANDW    $0xFFFF0000, R2
-       WORD    $0xEC12001F     //risbgn %r1,%r2,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R2, R1
        ADDW    $0x4000000, R2
        BLEU    L17
 L8:
@@ -122,9 +114,7 @@ L4:
        FMOVD   log10rodataL19<>+72(SB), F1
        WFMADB  V0, V2, V1, V2
        FMOVD   log10rodataL19<>+64(SB), F1
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,0
-       BYTE    $0x00
-       BYTE    $0x55
+       RISBGZ  $57, $60, $0, R3, R3
        WFMADB  V4, V6, V2, V6
        FMOVD   log10rodataL19<>+56(SB), F2
        WFMADB  V0, V1, V2, V1
@@ -145,12 +135,8 @@ L4:
        RET
 
 L16:
-       WORD    $0xEC2328B7     //risbg %r2,%r3,40,128+55,64-8
-       BYTE    $0x38
-       BYTE    $0x55
-       WORD    $0xEC3339BC     //risbg %r3,%r3,57,128+60,64-13
-       BYTE    $0x33
-       BYTE    $0x55
+       RISBGZ  $40, $55, $56, R3, R2
+       RISBGZ  $57, $60, $51, R3, R3
        ORW     $0x45000000, R2
        BR      L4
 L13:
index ba4933d5b0cb84fd409a7678738ef6020542509e..00eb374996391fb6ce5078a31fadf795daf89022 100644 (file)
@@ -105,12 +105,8 @@ TEXT       ·log1pAsm(SB), NOSPLIT, $0-16
        SRW     $16, R1, R1
        BYTE    $0x18   //lr    %r4,%r1
        BYTE    $0x41
-       WORD    $0xEC24000F     //risbgn        %r2,%r4,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
-       WORD    $0xEC54101F     //risbgn        %r5,%r4,64-64+16,64-64+16+16-1,64-16-16
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R4, R2
+       RISBGN  $16, $31, $32, R4, R5
        MOVW    R0, R6
        MOVW    R3, R7
        CMPBGT  R6, R7, L8
@@ -155,9 +151,7 @@ L8:
        WFMADB  V6, V5, V2, V6
        FMOVD   0(R2), F4
        WFMADB  V0, V6, V4, V6
-       WORD    $0xEC1139BC     //risbg %r1,%r1,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R1, R1
        MOVD    $·log1ptab<>+0(SB), R2
        MOVD    $·log1pxl1<>+0(SB), R3
        WORD    $0x68112000     //ld    %f1,0(%r1,%r2)
index 7bcfdfcffa727af36dcd072bc3b4e4f7dee2d011..4b514f3dd42eb11fa4ca0a3673ad6a36bd93adcf 100644 (file)
@@ -68,15 +68,9 @@ TEXT ·logAsm(SB), NOSPLIT, $0-16
        SRAD    $48, R1, R1
        MOVD    $0x40F03E8000000000, R8
        SUBW    R1, R4
-       WORD    $0xEC2420BB     //risbg %r2,%r4,32,128+59,0
-       BYTE    $0x00
-       BYTE    $0x55
-       WORD    $0xEC62000F     //risbgn        %r6,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
-       WORD    $0xEC82101F     //risbgn        %r8,%r2,64-64+16,64-64+16+16-1,64-16-16
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGZ  $32, $59, $0, R4, R2
+       RISBGN  $0, $15, $48, R2, R6
+       RISBGN  $16, $31, $32, R2, R8
        MOVW    R1, R7
        CMPBGT  R7, $22, L17
        LTDBR   F0, F0
@@ -103,12 +97,8 @@ L15:
        BYTE    $0x51
        MOVW    R1, R7
        CMPBLE  R7, $22, L7
-       WORD    $0xEC63000F     //risbgn        %r6,%r3,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
-       WORD    $0xEC82101F     //risbgn        %r8,%r2,64-64+16,64-64+16+16-1,64-16-16
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R3, R6
+       RISBGN  $16, $31, $32, R2, R8
 L2:
        MOVH    R5, R5
        MOVH    $0x7FEF, R1
@@ -116,9 +106,7 @@ L2:
        BGT     L1
        LDGR    R6, F2
        FMUL    F2, F0
-       WORD    $0xEC4439BB     //risbg %r4,%r4,57,128+59,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $59, $3, R4, R4
        FMOVD   80(R9), F2
        MOVD    $·logxm<>+0(SB), R7
        ADD     R7, R4
index 754b119e24918ec6a5737ae3bd67d82d096fe501..9a0fff334b8ee86c7c3cc32bf1dc907d6cbcba59 100644 (file)
@@ -301,13 +301,9 @@ Normal:
        WORD    $0xC0298009     //iilf  %r2,2148095317
        BYTE    $0x55
        BYTE    $0x55
-       WORD    $0xEC1320BF     //risbgn        %r1,%r3,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
+       RISBGNZ $32, $63, $32, R3, R1
        SUBW    R1, R2
-       WORD    $0xEC323ABF     //risbgn        %r3,%r2,64-6,128+63,64+44+6
-       BYTE    $0x72
-       BYTE    $0x59
+       RISBGNZ $58, $63, $50, R2, R3
        BYTE    $0x18   //lr    %r5,%r1
        BYTE    $0x51
        MOVD    $·powtabi<>+0(SB), R12
@@ -322,12 +318,8 @@ Normal:
        ORW     R5, R1
        WORD    $0x5A234000     //a     %r2,0(%r3,%r4)
        MOVD    $0x3FF0000000000000, R5
-       WORD    $0xEC3228BF     //risbg %r3,%r2,64-24,128+63,64+32+24
-       BYTE    $0x78
-       BYTE    $0x55
-       WORD    $0xEC82001F     //risbgn        %r8,%r2,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGZ  $40, $63, $56, R2, R3
+       RISBGN  $0, $31, $32, R2, R8
        ORW     $0x45000000, R3
        MOVW    R1, R6
        CMPBLT  R6, $0, L42
@@ -399,16 +391,12 @@ L2:
        WFMADB  V1, V3, V7, V1
        FMOVD   16(R9), F5
        WFMADB  V4, V5, V16, V5
-       WORD    $0xEC4239BC     //risbg %r4,%r2,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R2, R4
        WFMADB  V3, V1, V5, V1
        MOVD    $·powtexp<>+0(SB), R3
        WORD    $0x68343000     //ld    %f3,0(%r4,%r3)
        FMADD   F3, F4, F4
-       WORD    $0xEC52000F     //risbgn        %r5,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R5
        WFMADB  V4, V1, V3, V4
        LGDR    F6, R2
        LDGR    R5, F1
@@ -449,18 +437,12 @@ L11:
        MOVW    R2, R7
        MOVW    R1, R6
        CMPBLE  R7, R6, L34
-       WORD    $0xEC1520BF     //risbgn        %r1,%r5,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
+       RISBGNZ $32, $63, $32, R5, R1
        LGDR    F6, R2
        MOVD    $powiadd<>+0(SB), R3
-       WORD    $0xEC223CBC     //risbg %r2,%r2,60,128+60,64-60
-       BYTE    $0x04
-       BYTE    $0x55
+       RISBGZ  $60, $60, $4, R2, R2
        WORD    $0x5A123000     //a     %r1,0(%r2,%r3)
-       WORD    $0xEC51001F     //risbgn        %r5,%r1,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R1, R5
        LDGR    R5, F1
        FMADD   F1, F4, F1
        MOVD    $powxscale<>+0(SB), R1
@@ -487,16 +469,10 @@ L3:
        BYTE    $0x55
        BYTE    $0x55
        LGDR    F4, R3
-       WORD    $0xEC3320BF     //risbgn        %r3,%r3,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
+       RISBGNZ $32, $63, $32, R3, R3
        SUBW    R3, R2, R3
-       WORD    $0xEC2321AB     //risbg %r2,%r3,33,128+43,0
-       BYTE    $0x00
-       BYTE    $0x55
-       WORD    $0xEC333ABF     //risbgn        %r3,%r3,64-6,128+63,64+44+6
-       BYTE    $0x72
-       BYTE    $0x59
+       RISBGZ  $33, $43, $0, R3, R2
+       RISBGNZ $58, $63, $50, R3, R3
        WORD    $0xE303C000     //llgc  %r0,0(%r3,%r12)
        BYTE    $0x00
        BYTE    $0x90
@@ -504,14 +480,10 @@ L3:
        WORD    $0x5A234000     //a     %r2,0(%r3,%r4)
        BYTE    $0x18   //lr    %r3,%r2
        BYTE    $0x32
-       WORD    $0xEC83001F     //risbgn        %r8,%r3,64-64+0,64-64+0+32-1,64-0-32
-       BYTE    $0x20
-       BYTE    $0x59
+       RISBGN  $0, $31, $32, R3, R8
        ADDW    $0x4000000, R3
        BLEU    L5
-       WORD    $0xEC3328BF     //risbg %r3,%r3,64-24,128+63,64+32+24
-       BYTE    $0x78
-       BYTE    $0x55
+       RISBGZ  $40, $63, $56, R3, R3
        ORW     $0x45000000, R3
        BR      L2
 L9:
@@ -540,9 +512,7 @@ L18:
        WFMDB   V4, V5, V1
        BR      L1
 L5:
-       WORD    $0xEC3321B2     //risbg %r3,%r3,33,128+50,64-1
-       BYTE    $0x3F
-       BYTE    $0x55
+       RISBGZ  $33, $50, $63, R3, R3
        WORD    $0xC23B4000     //alfi  %r3,1073741824
        BYTE    $0x00
        BYTE    $0x00
@@ -571,9 +541,7 @@ L16:
        BR      L1
 L48:
        LGDR    F0, R3
-       WORD    $0xEC1320BF     //risbgn        %r1,%r3,64-32,128+63,64+0+32
-       BYTE    $0x60
-       BYTE    $0x59
+       RISBGNZ $32, $63, $32, R3, R1
        MOVW    R1, R6
        CMPBEQ  R6, $0, L29
        LTDBR   F2, F2
index bad2e218f8e380158d126cb9510d6ae8be4b73c9..73701f24f12fd813d590714df09e705a4a3283aa 100644 (file)
@@ -153,9 +153,7 @@ L6:
        VLGVG   $0, V16, R2
        WFMADB  V6, V3, V5, V6
        RLL     $3, R2, R2
-       WORD    $0xEC12000F     //risbgn %r1,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R1
        BEQ     L9
        WFMSDB  V0, V1, V6, V0
        MOVD    $sinhx4ff<>+0(SB), R3
@@ -165,9 +163,7 @@ L6:
        ANDW    $0xFFFF, R2
        WORD    $0xA53FEFB6     //llill %r3,61366
        SUBW    R2, R3, R2
-       WORD    $0xEC12000F     //risbgn %r1,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R1
        LDGR    R1, F2
        FMUL    F2, F0
        FMOVD   F0, ret+8(FP)
@@ -195,9 +191,7 @@ L20:
        FMOVD   0(R2), F5
        LGDR    F6, R2
        RLL     $3, R2, R2
-       WORD    $0xEC12000F     //risbgn %r1,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R1
        WFMADB  V2, V1, V0, V1
        LDGR    R1, F0
        MOVD    $sinhe5<>+0(SB), R1
@@ -211,9 +205,7 @@ L20:
        FNEG    F4, F4
        ANDW    $0xFFFF, R2
        SUBW    R2, R4, R2
-       WORD    $0xEC32000F     //risbgn %r3,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R3
        LDGR    R3, F6
        WFADB   V0, V6, V16
        MOVD    $sinhe4<>+0(SB), R1
@@ -242,9 +234,7 @@ L9:
        FMOVD   0(R3), F2
        FMUL    F2, F0
        WORD    $0xA72AF000     //ahi   %r2,-4096
-       WORD    $0xEC12000F     //risbgn %r1,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R1
        LDGR    R1, F2
        FMUL    F2, F0
        FMOVD   F0, ret+8(FP)
index 456ed623ee399599f50fb239e54b90c09621accb..7e2d4dd7972935c305848a407ee6f6c91bdd1b4c 100644 (file)
@@ -76,15 +76,11 @@ L2:
        WFMSDB  V0, V4, V2, V4
        MOVD    $tanhtab<>+0(SB), R3
        LGDR    F4, R2
-       WORD    $0xEC4239BC     //risbg %r4,%r2,57,128+60,3
-       BYTE    $0x03
-       BYTE    $0x55
+       RISBGZ  $57, $60, $3, R2, R4
        WORD    $0xED105058     //cdb %f1,.L19-.L18(%r5)
        BYTE    $0x00
        BYTE    $0x19
-       WORD    $0xEC12000F     //risbgn %r1,%r2,64-64+0,64-64+0+16-1,64-0-16
-       BYTE    $0x30
-       BYTE    $0x59
+       RISBGN  $0, $15, $48, R2, R1
        WORD    $0x68543000     //ld %f5,0(%r4,%r3)
        LDGR    R1, F6
        BLT     L3