--- old/src/cpu/x86/vm/x86.ad 2016-06-28 11:59:41.273192804 +0200 +++ new/src/cpu/x86/vm/x86.ad 2016-06-28 11:59:41.133192811 +0200 @@ -2131,7 +2131,7 @@ return size+offset_size; } -static inline jfloat replicate4_imm(int con, int width) { +static inline jint replicate4_imm(int con, int width) { // Load a constant of "width" (in bytes) and replicate it to fill 32bit. assert(width == 1 || width == 2, "only byte or short types here"); int bit_width = width * 8; @@ -2141,11 +2141,10 @@ val |= (val << bit_width); bit_width <<= 1; } - jfloat fval = *((jfloat*) &val); // coerce to float type - return fval; + return val; } -static inline jdouble replicate8_imm(int con, int width) { +static inline jlong replicate8_imm(int con, int width) { // Load a constant of "width" (in bytes) and replicate it to fill 64bit. assert(width == 1 || width == 2 || width == 4, "only byte, short or int types here"); int bit_width = width * 8; @@ -2155,8 +2154,7 @@ val |= (val << bit_width); bit_width <<= 1; } - jdouble dval = *((jdouble*) &val); // coerce to double type - return dval; + return val; } #ifndef PRODUCT