src/cpu/x86/vm/register_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8076276 Cdiff src/cpu/x86/vm/register_x86.cpp

src/cpu/x86/vm/register_x86.cpp

Print this page
rev 8344 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com

*** 29,43 **** const int ConcreteRegisterImpl::max_gpr = RegisterImpl::number_of_registers; #else const int ConcreteRegisterImpl::max_gpr = RegisterImpl::number_of_registers << 1; #endif // AMD64 - const int ConcreteRegisterImpl::max_fpr = ConcreteRegisterImpl::max_gpr + 2 * FloatRegisterImpl::number_of_registers; const int ConcreteRegisterImpl::max_xmm = ConcreteRegisterImpl::max_fpr + ! 8 * XMMRegisterImpl::number_of_registers; const char* RegisterImpl::name() const { const char* names[number_of_registers] = { #ifndef AMD64 "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" #else --- 29,45 ---- const int ConcreteRegisterImpl::max_gpr = RegisterImpl::number_of_registers; #else const int ConcreteRegisterImpl::max_gpr = RegisterImpl::number_of_registers << 1; #endif // AMD64 const int ConcreteRegisterImpl::max_fpr = ConcreteRegisterImpl::max_gpr + 2 * FloatRegisterImpl::number_of_registers; const int ConcreteRegisterImpl::max_xmm = ConcreteRegisterImpl::max_fpr + ! XMMRegisterImpl::max_slots_per_register * XMMRegisterImpl::number_of_registers; ! const int ConcreteRegisterImpl::max_kpr = ConcreteRegisterImpl::max_xmm + ! KRegisterImpl::max_slots_per_register * KRegisterImpl::number_of_registers; ! const char* RegisterImpl::name() const { const char* names[number_of_registers] = { #ifndef AMD64 "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" #else
*** 58,66 **** --- 60,77 ---- const char* XMMRegisterImpl::name() const { const char* names[number_of_registers] = { "xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7" #ifdef AMD64 ,"xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15" + ,"xmm16", "xmm17", "xmm18", "xmm19", "xmm20", "xmm21", "xmm22", "xmm23" + ,"xmm24", "xmm25", "xmm26", "xmm27", "xmm28", "xmm29", "xmm30", "xmm31" #endif // AMD64 }; return is_valid() ? names[encoding()] : "xnoreg"; } + + const char* KRegisterImpl::name() const { + const char* names[number_of_registers] = { + "k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7" + }; + return is_valid() ? names[encoding()] : "knoreg"; + }
src/cpu/x86/vm/register_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File