[llvm] VectorUtils: mark lrint, llrint as trivially vectorizable (PR #69945)

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 1 01:12:28 PDT 2023


mstorsjo wrote:

This commit caused failed asserts when building ffmpeg for x86. The issue is reproducible in a reduced form like this:
```c
short a[];
int b;
long lrint();
void c() {
  for (; b; b++)
    a[b] = lrint(b);
}
```

```console
$ clang -target i686-linux-gnu -c repro.c -O2 -fno-math-errno
clang: /home/martin/code/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:160: const llvm::SDValue& llvm::DAGTypeLegalizer::getSDValue(llvm::DAGTypeLegalizer::TableId&): Assertion `Id && "TableId should be non-zero"' failed.
```

Please have a look, or revert if fixing takes a while.

https://github.com/llvm/llvm-project/pull/69945


More information about the llvm-commits mailing list