I will regen the llvm22 update for base soon anyway because there is a new
release coming out.

On 20/05/26 13:46 +0200, Kirill A. Korinsky wrote:
> On Wed, 20 May 2026 13:39:05 +0200,
> Robert Nagy <[email protected]> wrote:
> > 
> > sure
> >
> 
> Thanks, commited.
> 
> But I have no idea how to split it in tested patch for llvm-22 in the base
> 
> > On 20/05/26 13:34 +0200, Kirill A. Korinsky wrote:
> > > Sebastien, Robert,
> > > 
> > > I'd like to backport to llvm-22
> > > https://github.com/llvm/llvm-project/commit/1b9fea021840f17c41ea980300d0fc45e7285909
> > > which fixes a "compiler stuck" issue in libggml.
> > > 
> > > I think it should go to base version of llvm as well.
> > > 
> > > Here the diff for ports@ part.
> > > 
> > > Ok?
> > > 
> > > Index: Makefile
> > > ===================================================================
> > > RCS file: /home/cvs/ports/devel/llvm/22/Makefile,v
> > > diff -u -p -r1.6 Makefile
> > > --- Makefile      6 May 2026 12:47:03 -0000       1.6
> > > +++ Makefile      20 May 2026 11:01:28 -0000
> > > @@ -5,6 +5,8 @@ LLVM_MAJOR =      22
> > >  LLVM_VERSION =   ${LLVM_MAJOR}.1.5
> > >  LLVM_PKGSPEC =   >=22,<23
> > >  
> > > +REVISION-main =  0
> > > +
> > >  SHARED_LIBS +=   LLVM            0.0 \
> > >           LTO             0.0 \
> > >           Remarks         0.0 \
> > > Index: patches/patch-llvm_lib_Target_X86_X86ISelLowering_cpp
> > > ===================================================================
> > > RCS file: patches/patch-llvm_lib_Target_X86_X86ISelLowering_cpp
> > > diff -N patches/patch-llvm_lib_Target_X86_X86ISelLowering_cpp
> > > --- /dev/null     1 Jan 1970 00:00:00 -0000
> > > +++ patches/patch-llvm_lib_Target_X86_X86ISelLowering_cpp 20 May 2026 
> > > 10:59:58 -0000
> > > @@ -0,0 +1,31 @@
> > > +Backport 
> > > https://github.com/llvm/llvm-project/commit/1b9fea021840f17c41ea980300d0fc45e7285909
> > > +
> > > +Index: llvm/lib/Target/X86/X86ISelLowering.cpp
> > > +--- llvm/lib/Target/X86/X86ISelLowering.cpp.orig
> > > ++++ llvm/lib/Target/X86/X86ISelLowering.cpp
> > > +@@ -18004,9 +18004,12 @@ static SDValue lowerV64I8Shuffle(const SDLoc 
> > > &DL, Arra
> > > + 
> > > +   // Try to create an in-lane repeating shuffle mask and then shuffle 
> > > the
> > > +   // results into the target lanes.
> > > +-  if (SDValue V = lowerShuffleAsRepeatedMaskAndLanePermute(
> > > +-          DL, MVT::v64i8, V1, V2, Mask, Subtarget, DAG))
> > > +-    return V;
> > > ++  // FIXME: Avoid on VBMI targets as the post lane permute often 
> > > interferes
> > > ++  // with shuffle combining (should be fixed by topological DAG 
> > > sorting).
> > > ++  if (!Subtarget.hasVBMI())
> > > ++    if (SDValue V = lowerShuffleAsRepeatedMaskAndLanePermute(
> > > ++            DL, MVT::v64i8, V1, V2, Mask, Subtarget, DAG))
> > > ++      return V;
> > > + 
> > > +   if (SDValue Result = lowerShuffleAsLanePermuteAndPermute(
> > > +           DL, MVT::v64i8, V1, V2, Mask, DAG, Subtarget))
> > > +@@ -18041,7 +18044,8 @@ static SDValue lowerV64I8Shuffle(const SDLoc 
> > > &DL, Arra
> > > +   if (Subtarget.hasVBMI())
> > > +     return lowerShuffleWithPERMV(DL, MVT::v64i8, Mask, V1, V2, 
> > > Subtarget, DAG);
> > > + 
> > > +-  return splitAndLowerShuffle(DL, MVT::v64i8, V1, V2, Mask, DAG, 
> > > /*SimpleOnly*/ false);
> > > ++  return splitAndLowerShuffle(DL, MVT::v64i8, V1, V2, Mask, DAG,
> > > ++                              /*SimpleOnly*/ false);
> > > + }
> > > + 
> > > + /// High-level routine to lower various 512-bit x86 vector shuffles.
> > > 
> > > 
> > > -- 
> > > wbr, Kirill
> > 
> > -- 
> > Regards,
> > Robert Nagy
> > 
> 
> -- 
> wbr, Kirill

-- 
Regards,
Robert Nagy

Reply via email to