s390_insn *
-s390_insn_bfp_convert(UChar size, s390_conv_t tag, HReg dst, HReg op,
+s390_insn_bfp_convert(UChar size, s390_bfp_conv_t tag, HReg dst, HReg op,
s390_bfp_round_t rounding_mode)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
static s390_insn *
-s390_insn_bfp128_convert(UChar size, s390_conv_t tag, HReg dst_hi,
+s390_insn_bfp128_convert(UChar size, s390_bfp_conv_t tag, HReg dst_hi,
HReg dst_lo, HReg op_hi, HReg op_lo,
s390_bfp_round_t rounding_mode)
{
s390_insn *
-s390_insn_bfp128_convert_to(UChar size, s390_conv_t tag, HReg dst_hi,
+s390_insn_bfp128_convert_to(UChar size, s390_bfp_conv_t tag, HReg dst_hi,
HReg dst_lo, HReg op)
{
/* Conversion to bfp128 never requires a rounding mode. Provide default
s390_insn *
-s390_insn_bfp128_convert_from(UChar size, s390_conv_t tag, HReg dst,
+s390_insn_bfp128_convert_from(UChar size, s390_bfp_conv_t tag, HReg dst,
HReg op_hi, HReg op_lo,
s390_bfp_round_t rounding_mode)
{
S390_BFP_F128_TO_U64,
S390_BFP_F128_TO_F32,
S390_BFP_F128_TO_F64
-} s390_conv_t;
+} s390_bfp_conv_t;
/* Type conversion operations: to and/or from decimal floating point */
typedef enum {
HReg op_lo; /* 128-bit operand low part */
} bfp_unop;
struct {
- s390_conv_t tag;
+ s390_bfp_conv_t tag;
s390_bfp_round_t rounding_mode;
HReg dst_hi; /* 128-bit result high part; 32/64-bit result */
HReg dst_lo; /* 128-bit result low part */
s390_insn *s390_insn_bfp_unop(UChar size, s390_bfp_unop_t tag, HReg dst,
HReg op);
s390_insn *s390_insn_bfp_compare(UChar size, HReg dst, HReg op1, HReg op2);
-s390_insn *s390_insn_bfp_convert(UChar size, s390_conv_t tag, HReg dst,
+s390_insn *s390_insn_bfp_convert(UChar size, s390_bfp_conv_t tag, HReg dst,
HReg op, s390_bfp_round_t);
s390_insn *s390_insn_bfp128_binop(UChar size, s390_bfp_binop_t, HReg dst_hi,
HReg dst_lo, HReg op2_hi, HReg op2_lo);
HReg dst_lo, HReg op_hi, HReg op_lo);
s390_insn *s390_insn_bfp128_compare(UChar size, HReg dst, HReg op1_hi,
HReg op1_lo, HReg op2_hi, HReg op2_lo);
-s390_insn *s390_insn_bfp128_convert_to(UChar size, s390_conv_t,
+s390_insn *s390_insn_bfp128_convert_to(UChar size, s390_bfp_conv_t,
HReg dst_hi, HReg dst_lo, HReg op);
-s390_insn *s390_insn_bfp128_convert_from(UChar size, s390_conv_t,
+s390_insn *s390_insn_bfp128_convert_from(UChar size, s390_bfp_conv_t,
HReg dst, HReg op_hi, HReg op_lo,
s390_bfp_round_t);
s390_insn *s390_insn_dfp_binop(UChar size, s390_dfp_binop_t, HReg dst,
{
IRType ty = typeOfIRExpr(env->type_env, expr);
UChar size;
- s390_conv_t conv;
+ s390_bfp_conv_t conv;
vassert(ty == Ity_I8 || ty == Ity_I16 || ty == Ity_I32 || ty == Ity_I64);
case Iex_Unop: {
IRExpr *left = expr->Iex.Unop.arg;
s390_bfp_unop_t bfpop;
- s390_conv_t conv;
+ s390_bfp_conv_t conv;
HReg op_hi, op_lo, op, f12, f13, f14, f15;
/* We use non-virtual registers as pairs (f13, f15) and (f12, f14)) */
IRExpr *irrm = expr->Iex.Binop.arg1;
IRExpr *left = expr->Iex.Binop.arg2;
HReg h1, dst;
- s390_conv_t conv;
+ s390_bfp_conv_t conv;
switch (op) {
case Iop_SqrtF32:
IROp op = expr->Iex.Unop.op;
IRExpr *left = expr->Iex.Unop.arg;
s390_bfp_unop_t bfpop;
- s390_conv_t conv;
+ s390_bfp_conv_t conv;
HReg h1, dst;
if (op == Iop_F128HItoF64 || op == Iop_F128LOtoF64) {