unsigned int zmm_endlo_regnum = I387_ZMM0H_REGNUM (tdep)
+ std::min (tdep->num_zmm_regs, 16);
ULONGEST clear_bv;
- static const gdb_byte zero[I386_MAX_REGISTER_SIZE] = { 0 };
enum
{
none = 0x0,
case pkeys:
if ((clear_bv & X86_XSTATE_PKRU))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum, XSAVE_PKEYS_ADDR (tdep, regs, regnum));
return;
case avx512_zmm0_h:
if ((clear_bv & X86_XSTATE_ZMM_H))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum,
XSAVE_AVX512_ZMM0_H_ADDR (tdep, regs, regnum));
case avx512_zmm16_h:
if ((clear_bv & X86_XSTATE_ZMM))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum,
XSAVE_AVX512_ZMM16_H_ADDR (tdep, regs, regnum));
case avx512_k:
if ((clear_bv & X86_XSTATE_K))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum, XSAVE_AVX512_K_ADDR (tdep, regs, regnum));
return;
case avx512_ymmh_avx512:
if ((clear_bv & X86_XSTATE_ZMM))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum,
XSAVE_YMM_H_AVX512_ADDR (tdep, regs, regnum));
case avx512_xmm_avx512:
if ((clear_bv & X86_XSTATE_ZMM))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum,
XSAVE_XMM_AVX512_ADDR (tdep, regs, regnum));
case avxh:
if ((clear_bv & X86_XSTATE_AVX))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum, XSAVE_AVXH_ADDR (tdep, regs, regnum));
return;
case sse:
if ((clear_bv & X86_XSTATE_SSE))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum, FXSAVE_ADDR (tdep, regs, regnum));
return;
case x87:
if ((clear_bv & X86_XSTATE_X87))
- regcache->raw_supply (regnum, zero);
+ regcache->raw_supply_zeroed (regnum);
else
regcache->raw_supply (regnum, FXSAVE_ADDR (tdep, regs, regnum));
return;
for (i = I387_PKRU_REGNUM (tdep);
i < I387_PKEYSEND_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
if ((clear_bv & X86_XSTATE_ZMM_H))
{
for (i = I387_ZMM0H_REGNUM (tdep); i < zmm_endlo_regnum; i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
for (i = I387_K0_REGNUM (tdep);
i < I387_KEND_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
{
for (i = I387_ZMM16H_REGNUM (tdep);
i < I387_ZMMENDH_REGNUM (tdep); i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
for (i = I387_YMM16H_REGNUM (tdep);
i < I387_YMMH_AVX512_END_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
for (i = I387_XMM16_REGNUM (tdep);
i < I387_XMM_AVX512_END_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
for (i = I387_YMM0H_REGNUM (tdep);
i < I387_YMMENDH_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
for (i = I387_XMM0_REGNUM (tdep);
i < I387_MXCSR_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
for (i = I387_ST0_REGNUM (tdep);
i < I387_FCTRL_REGNUM (tdep);
i++)
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
else
{
regcache->raw_supply (i, buf);
}
else
- regcache->raw_supply (i, zero);
+ regcache->raw_supply_zeroed (i);
}
/* Most of the FPU control registers occupy only 16 bits in
the xsave extended state. Give those a special treatment. */