hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp
changeset 32391 01e2f5e916c7
parent 32203 01a3716ed455
child 32599 084cb21b3975
equal deleted inserted replaced
32371:8815f2d1447f 32391:01e2f5e916c7
  3312 void MacroAssembler::fpop() {
  3312 void MacroAssembler::fpop() {
  3313   ffree();
  3313   ffree();
  3314   fincstp();
  3314   fincstp();
  3315 }
  3315 }
  3316 
  3316 
       
  3317 void MacroAssembler::load_float(Address src) {
       
  3318   if (UseSSE >= 1) {
       
  3319     movflt(xmm0, src);
       
  3320   } else {
       
  3321     LP64_ONLY(ShouldNotReachHere());
       
  3322     NOT_LP64(fld_s(src));
       
  3323   }
       
  3324 }
       
  3325 
       
  3326 void MacroAssembler::store_float(Address dst) {
       
  3327   if (UseSSE >= 1) {
       
  3328     movflt(dst, xmm0);
       
  3329   } else {
       
  3330     LP64_ONLY(ShouldNotReachHere());
       
  3331     NOT_LP64(fstp_s(dst));
       
  3332   }
       
  3333 }
       
  3334 
       
  3335 void MacroAssembler::load_double(Address src) {
       
  3336   if (UseSSE >= 2) {
       
  3337     movdbl(xmm0, src);
       
  3338   } else {
       
  3339     LP64_ONLY(ShouldNotReachHere());
       
  3340     NOT_LP64(fld_d(src));
       
  3341   }
       
  3342 }
       
  3343 
       
  3344 void MacroAssembler::store_double(Address dst) {
       
  3345   if (UseSSE >= 2) {
       
  3346     movdbl(dst, xmm0);
       
  3347   } else {
       
  3348     LP64_ONLY(ShouldNotReachHere());
       
  3349     NOT_LP64(fstp_d(dst));
       
  3350   }
       
  3351 }
       
  3352 
  3317 void MacroAssembler::fremr(Register tmp) {
  3353 void MacroAssembler::fremr(Register tmp) {
  3318   save_rax(tmp);
  3354   save_rax(tmp);
  3319   { Label L;
  3355   { Label L;
  3320     bind(L);
  3356     bind(L);
  3321     fprem();
  3357     fprem();