< prev index next >

src/cpu/x86/vm/vmreg_x86.inline.hpp

Print this page




  22  *
  23  */
  24 
  25 #ifndef CPU_X86_VM_VMREG_X86_INLINE_HPP
  26 #define CPU_X86_VM_VMREG_X86_INLINE_HPP
  27 
  28 inline VMReg RegisterImpl::as_VMReg() {
  29   if( this==noreg ) return VMRegImpl::Bad();
  30 #ifdef AMD64
  31   return VMRegImpl::as_VMReg(encoding() << 1 );
  32 #else
  33   return VMRegImpl::as_VMReg(encoding() );
  34 #endif // AMD64
  35 }
  36 
  37 inline VMReg FloatRegisterImpl::as_VMReg() {
  38   return VMRegImpl::as_VMReg((encoding() << 1) + ConcreteRegisterImpl::max_gpr);
  39 }
  40 
  41 inline VMReg XMMRegisterImpl::as_VMReg() {
  42   return VMRegImpl::as_VMReg((encoding() << 3) + ConcreteRegisterImpl::max_fpr);




  43 }
  44 
  45 #endif // CPU_X86_VM_VMREG_X86_INLINE_HPP


  22  *
  23  */
  24 
  25 #ifndef CPU_X86_VM_VMREG_X86_INLINE_HPP
  26 #define CPU_X86_VM_VMREG_X86_INLINE_HPP
  27 
  28 inline VMReg RegisterImpl::as_VMReg() {
  29   if( this==noreg ) return VMRegImpl::Bad();
  30 #ifdef AMD64
  31   return VMRegImpl::as_VMReg(encoding() << 1 );
  32 #else
  33   return VMRegImpl::as_VMReg(encoding() );
  34 #endif // AMD64
  35 }
  36 
  37 inline VMReg FloatRegisterImpl::as_VMReg() {
  38   return VMRegImpl::as_VMReg((encoding() << 1) + ConcreteRegisterImpl::max_gpr);
  39 }
  40 
  41 inline VMReg XMMRegisterImpl::as_VMReg() {
  42   return VMRegImpl::as_VMReg((encoding() << 4) + ConcreteRegisterImpl::max_fpr);
  43 }
  44 
  45 inline VMReg KRegisterImpl::as_VMReg() {
  46   return VMRegImpl::as_VMReg(encoding() + ConcreteRegisterImpl::max_xmm);
  47 }
  48 
  49 #endif // CPU_X86_VM_VMREG_X86_INLINE_HPP
< prev index next >