https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97092
--- Comment #3 from Andrea Corallo <andrea.corallo at arm dot com> --- What is going on is that in 'update_costs_from_allocno' we try to identify the smallest mode using narrower_subreg_mode to then update the costs. The two modes involved here are E_DImode and E_VNx2QImode, cause these are not ordered we ICE in 'paradoxical_subreg_p'. Now I don't know if the strategy we want is: - In 'update_costs_from_allocno' when modes are not ordered instead of calling 'narrower_subreg_mode' just keep the current one. - Always select the cheapest mode in terms of cost. The attached I'm testing implements the second. Andrea