On 7/2/20 7:56 PM, Richard Henderson wrote: > The temp that gets assigned to clean_addr has been allocated with > new_tmp_a64, which means that it will be freed at the end of the > instruction. Freeing it earlier leads to assertion failure. > > The loop creates a complication, in which we allocate a new local > temp, which does need freeing, and the final code path is shared > between the loop and non-loop. > > Fix this complication by adding new_tmp_a64_local so that the new > local temp is freed at the end, and can be treated exactly like > the non-loop path. > > Fixes: bba87d0a0f4 > Signed-off-by: Richard Henderson <[email protected]> > --- > target/arm/translate-a64.h | 1 + > target/arm/translate-a64.c | 6 ++++++ > target/arm/translate-sve.c | 8 ++------ > 3 files changed, 9 insertions(+), 6 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
