# [DRAFT] Floating ATAN2 Single X-Form * fatan2s FRT,FRA,FRB (Rc=0) * fatan2s. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ATAN2(SINGLE(FRA), SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATAN2 X-Form * fatan2 FRT,FRA,FRB (Rc=0) * fatan2. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ATAN2(FRA, FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATAN2PI Single X-Form * fatan2pis FRT,FRA,FRB (Rc=0) * fatan2pis. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ATAN2PI(SINGLE(FRA), SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATAN2PI X-Form * fatan2pi FRT,FRA,FRB (Rc=0) * fatan2pi. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ATAN2PI(FRA, FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating POW Single X-Form * fpows FRT,FRA,FRB (Rc=0) * fpows. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_POW(SINGLE(FRA), SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating POW X-Form * fpow FRT,FRA,FRB (Rc=0) * fpow. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- bfp64_POW(FRA, FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating POWN Single X-Form * fpowns FRT,FRA,RB (Rc=0) * fpowns. FRT,FRA,RB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_POWN(SINGLE(FRA), RB)) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating POWN X-Form * fpown FRT,FRA,RB (Rc=0) * fpown. FRT,FRA,RB (Rc=1) Pseudo-code: FRT <- bfp64_POWN(FRA, RB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating POWR Single X-Form * fpowrs FRT,FRA,FRB (Rc=0) * fpowrs. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_POWR(SINGLE(FRA), SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating POWR X-Form * fpowr FRT,FRA,FRB (Rc=0) * fpowr. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- bfp64_POWR(FRA, FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ROOTN Single X-Form * frootns FRT,FRA,RB (Rc=0) * frootns. FRT,FRA,RB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ROOTN(SINGLE(FRA), RB)) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ROOTN X-Form * frootn FRT,FRA,RB (Rc=0) * frootn. FRT,FRA,RB (Rc=1) Pseudo-code: FRT <- bfp64_ROOTN(FRA, RB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating HYPOT Single X-Form * fhypots FRT,FRA,FRB (Rc=0) * fhypots. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_HYPOT(SINGLE(FRA), SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating HYPOT X-Form * fhypot FRT,FRA,FRB (Rc=0) * fhypot. FRT,FRA,FRB (Rc=1) Pseudo-code: FRT <- bfp64_HYPOT(FRA, FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating RSQRT Single X-Form * frsqrts FRT,FRB (Rc=0) * frsqrts. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_RSQRT(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating RSQRT X-Form * frsqrt FRT,FRB (Rc=0) * frsqrt. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_RSQRT(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating CBRT Single X-Form * fcbrts FRT,FRB (Rc=0) * fcbrts. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_CBRT(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating CBRT X-Form * fcbrt FRT,FRB (Rc=0) * fcbrt. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_CBRT(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating RECIP Single X-Form * frecips FRT,FRB (Rc=0) * frecips. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_RECIP(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating RECIP X-Form * frecip FRT,FRB (Rc=0) * frecip. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_RECIP(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP2M1 Single X-Form * fexp2m1s FRT,FRB (Rc=0) * fexp2m1s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_EXP2M1(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP2M1 X-Form * fexp2m1 FRT,FRB (Rc=0) * fexp2m1. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_EXP2M1(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG2P1 Single X-Form * flog2p1s FRT,FRB (Rc=0) * flog2p1s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_LOG2P1(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG2P1 X-Form * flog2p1 FRT,FRB (Rc=0) * flog2p1. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_LOG2P1(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP2 Single X-Form * fexp2s FRT,FRB (Rc=0) * fexp2s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_EXP2(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP2 X-Form * fexp2 FRT,FRB (Rc=0) * fexp2. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_EXP2(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG2 Single X-Form * flog2s FRT,FRB (Rc=0) * flog2s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_LOG2(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG2 X-Form * flog2 FRT,FRB (Rc=0) * flog2. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_LOG2(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXPM1 Single X-Form * fexpm1s FRT,FRB (Rc=0) * fexpm1s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_EXPM1(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXPM1 X-Form * fexpm1 FRT,FRB (Rc=0) * fexpm1. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_EXPM1(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOGP1 Single X-Form * flogp1s FRT,FRB (Rc=0) * flogp1s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_LOGP1(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOGP1 X-Form * flogp1 FRT,FRB (Rc=0) * flogp1. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_LOGP1(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP Single X-Form * fexps FRT,FRB (Rc=0) * fexps. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_EXP(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP X-Form * fexp FRT,FRB (Rc=0) * fexp. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_EXP(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG Single X-Form * flogs FRT,FRB (Rc=0) * flogs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_LOG(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG X-Form * flog FRT,FRB (Rc=0) * flog. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_LOG(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP10M1 Single X-Form * fexp10m1s FRT,FRB (Rc=0) * fexp10m1s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_EXP10M1(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP10M1 X-Form * fexp10m1 FRT,FRB (Rc=0) * fexp10m1. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_EXP10M1(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG10P1 Single X-Form * flog10p1s FRT,FRB (Rc=0) * flog10p1s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_LOG10P1(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG10P1 X-Form * flog10p1 FRT,FRB (Rc=0) * flog10p1. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_LOG10P1(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP10 Single X-Form * fexp10s FRT,FRB (Rc=0) * fexp10s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_EXP10(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating EXP10 X-Form * fexp10 FRT,FRB (Rc=0) * fexp10. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_EXP10(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG10 Single X-Form * flog10s FRT,FRB (Rc=0) * flog10s. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_LOG10(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating LOG10 X-Form * flog10 FRT,FRB (Rc=0) * flog10. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_LOG10(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating SIN Single X-Form * fsins FRT,FRB (Rc=0) * fsins. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_SIN(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating SIN X-Form * fsin FRT,FRB (Rc=0) * fsin. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_SIN(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating COS Single X-Form * fcoss FRT,FRB (Rc=0) * fcoss. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_COS(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating COS X-Form * fcos FRT,FRB (Rc=0) * fcos. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_COS(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating TAN Single X-Form * ftans FRT,FRB (Rc=0) * ftans. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_TAN(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating TAN X-Form * ftan FRT,FRB (Rc=0) * ftan. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_TAN(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ASIN Single X-Form * fasins FRT,FRB (Rc=0) * fasins. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ASIN(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ASIN X-Form * fasin FRT,FRB (Rc=0) * fasin. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ASIN(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ACOS Single X-Form * facoss FRT,FRB (Rc=0) * facoss. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ACOS(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ACOS X-Form * facos FRT,FRB (Rc=0) * facos. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ACOS(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATAN Single X-Form * fatans FRT,FRB (Rc=0) * fatans. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ATAN(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATAN X-Form * fatan FRT,FRB (Rc=0) * fatan. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ATAN(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating SINPI Single X-Form * fsinpis FRT,FRB (Rc=0) * fsinpis. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_SINPI(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating SINPI X-Form * fsinpi FRT,FRB (Rc=0) * fsinpi. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_SINPI(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating COSPI Single X-Form * fcospis FRT,FRB (Rc=0) * fcospis. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_COSPI(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating COSPI X-Form * fcospi FRT,FRB (Rc=0) * fcospi. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_COSPI(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating TANPI Single X-Form * ftanpis FRT,FRB (Rc=0) * ftanpis. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_TANPI(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating TANPI X-Form * ftanpi FRT,FRB (Rc=0) * ftanpi. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_TANPI(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ASINPI Single X-Form * fasinpis FRT,FRB (Rc=0) * fasinpis. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ASINPI(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ASINPI X-Form * fasinpi FRT,FRB (Rc=0) * fasinpi. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ASINPI(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ACOSPI Single X-Form * facospis FRT,FRB (Rc=0) * facospis. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ACOSPI(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ACOSPI X-Form * facospi FRT,FRB (Rc=0) * facospi. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ACOSPI(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATANPI Single X-Form * fatanpis FRT,FRB (Rc=0) * fatanpis. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ATANPI(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATANPI X-Form * fatanpi FRT,FRB (Rc=0) * fatanpi. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ATANPI(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating SINH Single X-Form * fsinhs FRT,FRB (Rc=0) * fsinhs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_SINH(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating SINH X-Form * fsinh FRT,FRB (Rc=0) * fsinh. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_SINH(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating COSH Single X-Form * fcoshs FRT,FRB (Rc=0) * fcoshs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_COSH(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating COSH X-Form * fcosh FRT,FRB (Rc=0) * fcosh. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_COSH(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating TANH Single X-Form * ftanhs FRT,FRB (Rc=0) * ftanhs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_TANH(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating TANH X-Form * ftanh FRT,FRB (Rc=0) * ftanh. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_TANH(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ASINH Single X-Form * fasinhs FRT,FRB (Rc=0) * fasinhs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ASINH(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ASINH X-Form * fasinh FRT,FRB (Rc=0) * fasinh. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ASINH(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ACOSH Single X-Form * facoshs FRT,FRB (Rc=0) * facoshs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ACOSH(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ACOSH X-Form * facosh FRT,FRB (Rc=0) * facosh. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ACOSH(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATANH Single X-Form * fatanhs FRT,FRB (Rc=0) * fatanhs. FRT,FRB (Rc=1) Pseudo-code: FRT <- DOUBLE(bfp32_ATANH(SINGLE(FRB))) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating ATANH X-Form * fatanh FRT,FRB (Rc=0) * fatanh. FRT,FRB (Rc=1) Pseudo-code: FRT <- bfp64_ATANH(FRB) Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXISI VXIMZ CR1 (if Rc=1) # [DRAFT] Floating Minimum/Maximum MM-Form * fminmax FRT,FRA,FRB,FMM (Rc=0) * fminmax. FRT,FRA,FRB,FMM (Rc=1) Pseudo-code: result <- [0] * 64 a <- (FRA) b <- (FRB) abs_a <- 0b0 || a[1:63] abs_b <- 0b0 || b[1:63] a_is_nan <- abs_a >u 0x7FF0_0000_0000_0000 a_is_snan <- a_is_nan & (a[12] = 0) b_is_nan <- abs_b >u 0x7FF0_0000_0000_0000 b_is_snan <- b_is_nan & (b[12] = 0) any_snan <- a_is_snan | b_is_snan a_quieted <- a a_quieted[12] <- 1 b_quieted <- b b_quieted[12] <- 1 if a_is_nan | b_is_nan then if FMM[2:3] = 0b00 then # min/maxnum08 if a_is_snan then result <- a_quieted else if b_is_snan then result <- b_quieted else if a_is_nan & b_is_nan then result <- a_quieted else if a_is_nan then result <- b else result <- a if FMM[2:3] = 0b01 then # min/max19 if a_is_nan then result <- a_quieted else result <- b_quieted if FMM[2:3] = 0b10 then # min/maxnum19 if a_is_nan & b_is_nan then result <- a_quieted else if a_is_nan then result <- b else result <- a if FMM[2:3] = 0b11 then # min/maxc result <- b else cmp_l <- a cmp_r <- b if FMM[1] then # min/maxmag if abs_a != abs_b then cmp_l <- abs_a cmp_r <- abs_b if FMM[2:3] = 0b11 then # min/maxc if abs_a = 0 then cmp_l[0:63] <- 0 if abs_b = 0 then cmp_r[0:63] <- 0 if FMM[0] then # max # swap cmp_* so comparison goes the other way cmp_l, cmp_r <- cmp_r, cmp_l if cmp_l[0] = 1 then if cmp_r[0] = 0 then result <- a else if cmp_l >u cmp_r then # IEEE 754 is sign-magnitude, # so bigger magnitude negative is smaller result <- a else result <- b else if cmp_r[0] = 1 then result <- b else if cmp_l