src/share/vm/opto/connode.cpp

changeset 3202
436b4a3231bf
parent 2314
f95d63e2154a
child 3604
9a72c7ece7fb
equal deleted inserted replaced
3201:2ef3386478e6 3202:436b4a3231bf
719 const Type *ConvF2DNode::Value( PhaseTransform *phase ) const { 719 const Type *ConvF2DNode::Value( PhaseTransform *phase ) const {
720 const Type *t = phase->type( in(1) ); 720 const Type *t = phase->type( in(1) );
721 if( t == Type::TOP ) return Type::TOP; 721 if( t == Type::TOP ) return Type::TOP;
722 if( t == Type::FLOAT ) return Type::DOUBLE; 722 if( t == Type::FLOAT ) return Type::DOUBLE;
723 const TypeF *tf = t->is_float_constant(); 723 const TypeF *tf = t->is_float_constant();
724 #ifndef IA64
725 return TypeD::make( (double)tf->getf() ); 724 return TypeD::make( (double)tf->getf() );
726 #else
727 float x = tf->getf();
728 return TypeD::make( (x == 0.0f) ? (double)x : (double)x + ia64_double_zero );
729 #endif
730 } 725 }
731 726
732 //============================================================================= 727 //=============================================================================
733 //------------------------------Value------------------------------------------ 728 //------------------------------Value------------------------------------------
734 const Type *ConvF2INode::Value( PhaseTransform *phase ) const { 729 const Type *ConvF2INode::Value( PhaseTransform *phase ) const {

mercurial