Hi, When I added the support for Power10 newly introduced multiply highpart instrutions, I noticed that currently vectorizer doesn't try to vectorize multiply highpart pattern, I hope this isn't intentional? This patch is to extend the existing pattern mulhs handlings to cover multiply highpart. Another alternative seems to recog mul_highpart operation in a general place applied for scalar code when the target supports the optab for the scalar operation, it's based on the assumption that one target which supports vector version of multiply highpart should have the scalar version. I noticed that the function can_mult_highpart_p can check/handle mult_highpart well even without mul_highpart optab support, I think to recog this pattern in vectorizer is better. Is it on the right track? Bootstrapped & regtested on powerpc64le-linux-gnu P9, x86_64-redhat-linux and aarch64-linux-gnu. BR, Kewen ----- gcc/ChangeLog: * tree-vect-patterns.c (vect_recog_mulhs_pattern): Add support to recog normal multiply highpart.