Monero
Classes | Macros | Functions
instructions_portable.cpp File Reference
#include <cfenv>
#include <cmath>
#include "common.hpp"
#include "intrin_portable.h"
#include "blake2/endian.h"
Include dependency graph for instructions_portable.cpp:

Classes

union  double_ser_t
 

Macros

#define HAVE_ROTR
 
#define HAVE_ROTL
 
#define LO(x)   ((x)&0xffffffff)
 
#define HI(x)   ((x)>>32)
 
#define HAVE_MULH
 
#define HAVE_SMULH
 

Functions

static void setRoundMode_ (uint32_t mode)
 
uint64_t rotr (uint64_t a, unsigned int b)
 
uint64_t rotl (uint64_t a, unsigned int b)
 
uint64_t mulh (uint64_t a, uint64_t b)
 
int64_t smulh (int64_t a, int64_t b)
 
void rx_reset_float_state ()
 
void rx_set_rounding_mode (uint32_t mode)
 
uint32_t rx_get_rounding_mode ()
 
double loadDoublePortable (const void *addr)
 

Macro Definition Documentation

◆ HAVE_MULH

#define HAVE_MULH

◆ HAVE_ROTL

#define HAVE_ROTL

◆ HAVE_ROTR

#define HAVE_ROTR

◆ HAVE_SMULH

#define HAVE_SMULH

◆ HI

#define HI (   x)    ((x)>>32)

◆ LO

#define LO (   x)    ((x)&0xffffffff)

Function Documentation

◆ loadDoublePortable()

double loadDoublePortable ( const void *  addr)

◆ mulh()

uint64_t mulh ( uint64_t  a,
uint64_t  b 
)

◆ rotl()

uint64_t rotl ( uint64_t  a,
unsigned int  b 
)

◆ rotr()

uint64_t rotr ( uint64_t  a,
unsigned int  b 
)

◆ rx_get_rounding_mode()

uint32_t rx_get_rounding_mode ( )

◆ rx_reset_float_state()

void rx_reset_float_state ( )

◆ rx_set_rounding_mode()

void rx_set_rounding_mode ( uint32_t  mode)

◆ setRoundMode_()

static void setRoundMode_ ( uint32_t  mode)
static

◆ smulh()

int64_t smulh ( int64_t  a,
int64_t  b 
)