[clang] [flang] [llvm] [X86][AVX10] Remove EVEX512 and AVX10-256 implementations (PR #157034)
Arthur Eubanks via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 24 13:52:59 PDT 2025
aeubanks wrote:
hi, we're running into a crash with the following IR that I bisected to this patch
```
$ cat /tmp/a.ll
target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128"
target triple = "i686-unknown-linux-android29"
declare void @g()
define <4 x i32> @f(<2 x double> %0) #0 {
call void @g()
%a = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double> %0, <4 x i32> zeroinitializer, i8 -1)
ret <4 x i32> %a
}
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double>, <4 x i32>, i8) #1
attributes #0 = { "target-features"="+avx10.2" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(none) }
$ llc /tmp/a.ll -o /dev/null
llc: ../../llvm/lib/CodeGen/TargetInstrInfo.cpp:771: MachineInstr *llvm::TargetInstrInfo::foldMemoryOperand(MachineInstr &, ArrayRef<unsigned int>, int, LiveIntervals *, VirtRegMap *) const: Assertion `(!(Flags & MachineMemOperand::MOLoad) || NewMI->mayLoad()) && "Folded a use to a non-load!"' failed.
```
(well actually we get the following before this patch)
```
'+avx10.2' is not a recognized feature for this target (ignoring feature)
SplitVectorResult #0: t24: v4i32 = llvm.x86.avx10.mask.vcvttpd2udqs.128 TargetConstant:i32<13945>, t12, t22, Constant:i8<-1>
LLVM ERROR: Do not know how to split the result of this operator!
```
is this intended?
https://github.com/llvm/llvm-project/pull/157034
More information about the cfe-commits
mailing list