* [Qemu-devel] Aarch64 MLS bug
@ 2014-03-24 9:56 Laurent Desnogues
0 siblings, 0 replies; only message in thread
From: Laurent Desnogues @ 2014-03-24 9:56 UTC (permalink / raw)
To: qemu-devel@nongnu.org, Peter Maydell
Hello,
the code that implements Aarch64 AdvSIMD MLS instruction looks like this:
if (opcode == 0xf || opcode == 0x12) {
/* SABA, UABA, MLA, MLS: accumulating ops */
static NeonGenTwoOpFn * const fns[3][2] = {
{ gen_helper_neon_add_u8, gen_helper_neon_sub_u8 },
{ gen_helper_neon_add_u16, gen_helper_neon_sub_u16 },
{ tcg_gen_add_i32, tcg_gen_sub_i32 },
};
bool is_sub = (opcode == 0x12 && u); /* MLS */
genfn = fns[size][is_sub];
read_vec_element_i32(s, tcg_op1, rd, pass, MO_32);
genfn(tcg_res, tcg_res, tcg_op1);
}
The genfn call has tcg_op1 and the second tcg_res swapped.
Thanks,
Laurent
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-03-24 9:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-24 9:56 [Qemu-devel] Aarch64 MLS bug Laurent Desnogues
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).