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