src/cpu/x86/vm/vmreg_x86.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
8076276 Cdiff src/cpu/x86/vm/vmreg_x86.hpp
src/cpu/x86/vm/vmreg_x86.hpp
Print this page
rev 8344 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
*** 34,44 ****
inline bool is_FloatRegister() {
return value() >= ConcreteRegisterImpl::max_gpr && value() < ConcreteRegisterImpl::max_fpr;
}
inline bool is_XMMRegister() {
! return value() >= ConcreteRegisterImpl::max_fpr && value() < ConcreteRegisterImpl::max_xmm;
}
inline Register as_Register() {
assert( is_Register(), "must be");
--- 34,61 ----
inline bool is_FloatRegister() {
return value() >= ConcreteRegisterImpl::max_gpr && value() < ConcreteRegisterImpl::max_fpr;
}
inline bool is_XMMRegister() {
! int uarch_max_xmm = ConcreteRegisterImpl::max_xmm;
!
! #ifdef _LP64
! if (UseAVX < 3) {
! int half_xmm = (XMMRegisterImpl::max_slots_per_register * XMMRegisterImpl::number_of_registers) / 2;
! uarch_max_xmm -= half_xmm;
! }
! #endif
!
! return (value() >= ConcreteRegisterImpl::max_fpr && value() < uarch_max_xmm);
! }
!
! inline bool is_KRegister() {
! if (UseAVX > 2) {
! return value() >= ConcreteRegisterImpl::max_xmm && value() < ConcreteRegisterImpl::max_kpr;
! } else {
! return false;
! }
}
inline Register as_Register() {
assert( is_Register(), "must be");
*** 57,67 ****
}
inline XMMRegister as_XMMRegister() {
assert( is_XMMRegister() && is_even(value()), "must be" );
// Yuk
! return ::as_XMMRegister((value() - ConcreteRegisterImpl::max_fpr) >> 3);
}
inline bool is_concrete() {
assert(is_reg(), "must be");
#ifndef AMD64
--- 74,90 ----
}
inline XMMRegister as_XMMRegister() {
assert( is_XMMRegister() && is_even(value()), "must be" );
// Yuk
! return ::as_XMMRegister((value() - ConcreteRegisterImpl::max_fpr) >> 4);
! }
!
! inline KRegister as_KRegister() {
! assert(is_KRegister(), "must be");
! // Yuk
! return ::as_KRegister((value() - ConcreteRegisterImpl::max_xmm));
}
inline bool is_concrete() {
assert(is_reg(), "must be");
#ifndef AMD64
src/cpu/x86/vm/vmreg_x86.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File