phoebewang wrote:
> the following crashes with that assert at head
>
> ```
> $ cat a.cpp
> typedef long __m128i __attribute__((__vector_size__(16)));
> __m128i _mm_undefined_si128();
> __attribute__((
> __vector_size__(2 * sizeof(double)))) double _mm_cvtts_pd_epu32___A;
> __m128i DemoteInRangeTo___trans_tmp_5;
> __attribute__((target("avx512vpopcntdq,gfni,avx10.2"))) void
> DemoteInRangeTo() {
> DemoteInRangeTo___trans_tmp_5 = __builtin_ia32_vcvttpd2udqs128_mask(
> _mm_cvtts_pd_epu32___A, _mm_undefined_si128(), -1);
> }
> $ clang -cc1 -triple i686-unknown-linux-android29 -Os -emit-obj a.cpp
> clang: ../../llvm/lib/CodeGen/TargetInstrInfo.cpp:773: 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.
> ```
>
> and no frontend errors/warnings
It crashes before this change: https://godbolt.org/z/dE8d9r5cW
https://github.com/llvm/llvm-project/pull/157034
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits