On 10 March 2014 13:24, Michael Matz <m...@suse.de> wrote: > Hi, > > On Sun, 9 Mar 2014, Peter Maydell wrote: > >> diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c >> index 6a3597d..2435c95 100644 >> --- a/target-arm/translate-a64.c >> +++ b/target-arm/translate-a64.c >> @@ -9007,9 +9007,8 @@ static void disas_simd_two_reg_misc(DisasContext *s, >> uint32_t insn) >> case 0x19: /* FRINTM */ >> case 0x38: /* FRINTP */ >> case 0x39: /* FRINTZ */ >> - case 0x58: /* FRINTA */ >> need_rmode = true; >> - rmode = extract32(opcode, 5, 2) | (extract32(opcode, 0, 1) << >> 1); >> + rmode = extract32(opcode, 5, 1) | (extract32(opcode, 0, 1) << >> 1); >> /* fall through */ >> case 0x59: /* FRINTX */ >> case 0x79: /* FRINTI */ >> @@ -9019,6 +9018,15 @@ static void disas_simd_two_reg_misc(DisasContext *s, >> uint32_t insn) >> return; >> } >> break; >> + case 0x58: /* FRINTA */ >> + need_rmode = true; >> + rmode = FPROUNDING_TIEAWAY; >> + need_fpstatus = true; >> + if (size == 3 && !is_q) { >> + unallocated_encoding(s); >> + return; >> + } >> + break; > > Merge the above into [15/16] ?
Yes, indeed. I obviously refreshed these FRINT changes into the wrong patch. thanks -- PMM