[PATCH] D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect.

Jan Vesely via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 19 23:39:40 PDT 2019


This patch also breaks the builtin-long-abs-1.0 piglit test on
AMDGPU/R600 (Turks).
The test fails with a similar error:
ScalarizeVectorResult #0: t72: v1i64 = abs t70

LLVM ERROR: Do not know how to scalarize the result of this operator!

See attached LLVM IR.

Jan

On Tue, Mar 19, 2019 at 8:19 PM Thomas Lively via Phabricator via
llvm-commits <llvm-commits at lists.llvm.org> wrote:
>
> tlively added a comment.
>
> This commit breaks the following IR:
>
>   target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
>   target triple = "wasm32-unknown-unknown"
>
>   define void @foo() local_unnamed_addr {
>   entry:
>     %x0 = load <4 x i8>, <4 x i8>* undef, align 1
>     %0 = load <4 x i8>, <4 x i8>* null, align 1
>     %t6 = srem <4 x i8> %0, %x0
>     %1 = ashr <4 x i8> %t6, <i8 7, i8 7, i8 7, i8 7>
>     %2 = icmp slt <4 x i8> %x0, zeroinitializer
>     %3 = sub <4 x i8> zeroinitializer, %x0
>     %4 = select <4 x i1> %2, <4 x i8> %3, <4 x i8> %x0
>     %5 = and <4 x i8> %1, %4
>     %6 = add <4 x i8> %5, %t6
>     store <4 x i8> %6, <4 x i8>* undef, align 1
>     ret void
>   }
>
> Running llc on that IR gives the following error:
>
>   ScalarizeVectorResult #0: t28: v1i8 = abs t26
>
>   LLVM ERROR: Do not know how to scalarize the result of this operator!
>
> This was reported at https://bugs.llvm.org/show_bug.cgi?id=41149.
>
>
> Repository:
>   rL LLVM
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D49837/new/
>
> https://reviews.llvm.org/D49837
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abs64.ll
Type: application/octet-stream
Size: 11278 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190320/f52abc2b/attachment.obj>


More information about the llvm-commits mailing list