> From: Dipesh Sharma <[email protected]> > Sent: Friday, June 26, 2026 8:16 PM > > diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc > index c56fc8e8d34..e8f44752607 100644 > --- a/gcc/config/i386/i386-expand.cc > +++ b/gcc/config/i386/i386-expand.cc > @@ -12710,6 +12710,9 @@ ix86_expand_args_builtin (const struct > builtin_description *d, > case UHI_FTYPE_UHI_UQI: > case USI_FTYPE_USI_UQI: > case UDI_FTYPE_UDI_UQI: > + case V16QI_FTYPE_V16QI_INT: > + case V32QI_FTYPE_V32QI_INT: > + case V64QI_FTYPE_V64QI_INT: > nargs = 2; > nargs_constant = 1; > break; > @@ -13161,6 +13164,9 @@ ix86_expand_args_builtin (const struct > builtin_description *d, > case V4DF_FTYPE_V8DF_INT_V4DF_UQI: > case V4SF_FTYPE_V16SF_INT_V4SF_UQI: > case V8DI_FTYPE_V8DI_INT_V8DI_UQI: > + case V16QI_FTYPE_V16QI_INT_V16QI_UHI: > + case V32QI_FTYPE_V32QI_INT_V32QI_USI: > + case V64QI_FTYPE_V64QI_INT_V64QI_UDI: > nargs = 4; > mask_pos = 2; > nargs_constant = 1;
One more thing, you could restrict upackb immediate value in this function just like some other insts did. Thx, Haochen
