mirror of https://gitee.com/openkylin/qemu.git
target-ppc: implement stxvll instructions
stxvll: Store VSX Vector Left-justified with Length Vector (8-bit elements) in BE/LE: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+--+ |“T”|“h”|“i”|“s”|“ ”|“i”|“s”|“ ”|“a”|“ ”|“T”|“E”|“S”|“T”|00|00| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+--+ Storing 14 bytes would result in following Little/Big-endian Storage: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+--+ |“T”|“h”|“i”|“s”|“ ”|“i”|“s”|“ ”|“a”|“ ”|“T”|“E”|“S”|“T”|FF|FF| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+--+ Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
681c247833
commit
e122090df3
|
@ -316,6 +316,7 @@ DEF_HELPER_3(stvewx, void, env, avr, tl)
|
|||
DEF_HELPER_4(lxvl, void, env, tl, tl, tl)
|
||||
DEF_HELPER_4(lxvll, void, env, tl, tl, tl)
|
||||
DEF_HELPER_4(stxvl, void, env, tl, tl, tl)
|
||||
DEF_HELPER_4(stxvll, void, env, tl, tl, tl)
|
||||
#endif
|
||||
DEF_HELPER_4(vsumsws, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vsum2sws, void, env, avr, avr, avr)
|
||||
|
|
|
@ -345,6 +345,7 @@ void helper_##name(CPUPPCState *env, target_ulong addr, \
|
|||
}
|
||||
|
||||
VSX_STXVL(stxvl, 0)
|
||||
VSX_STXVL(stxvll, 1)
|
||||
#undef VSX_STXVL
|
||||
#undef GET_NB
|
||||
#endif /* TARGET_PPC64 */
|
||||
|
|
|
@ -269,6 +269,7 @@ static void gen_##name(DisasContext *ctx) \
|
|||
VSX_VECTOR_LOAD_STORE_LENGTH(lxvl)
|
||||
VSX_VECTOR_LOAD_STORE_LENGTH(lxvll)
|
||||
VSX_VECTOR_LOAD_STORE_LENGTH(stxvl)
|
||||
VSX_VECTOR_LOAD_STORE_LENGTH(stxvll)
|
||||
#endif
|
||||
|
||||
#define VSX_LOAD_SCALAR_DS(name, operation) \
|
||||
|
|
|
@ -27,6 +27,7 @@ GEN_HANDLER_E(stxvb16x, 0x1F, 0x0C, 0x1F, 0, PPC_NONE, PPC2_ISA300),
|
|||
GEN_HANDLER_E(stxvx, 0x1F, 0x0C, 0x0C, 0, PPC_NONE, PPC2_ISA300),
|
||||
#if defined(TARGET_PPC64)
|
||||
GEN_HANDLER_E(stxvl, 0x1F, 0x0D, 0x0C, 0, PPC_NONE, PPC2_ISA300),
|
||||
GEN_HANDLER_E(stxvll, 0x1F, 0x0D, 0x0D, 0, PPC_NONE, PPC2_ISA300),
|
||||
#endif
|
||||
|
||||
GEN_HANDLER_E(mfvsrwz, 0x1F, 0x13, 0x03, 0x0000F800, PPC_NONE, PPC2_VSX207),
|
||||
|
|
Loading…
Reference in New Issue