[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-13 Thread Manuel Brito via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG22f5dc7501b5: [IR] Update to use new shufflevector semantics (authored by ManuelJBrito). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-13 Thread Manuel Brito via Phabricator via cfe-commits
ManuelJBrito added a comment. In D149548#4413762 , @uweigand wrote: > In D149548#4413639 , @nlopes wrote: > >> If a vector is fully initialized with `insertvector` (i.e., one operation >> per index), then the val

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-12 Thread Ulrich Weigand via Phabricator via cfe-commits
uweigand added a comment. In D149548#4413639 , @nlopes wrote: > If a vector is fully initialized with `insertvector` (i.e., one operation per > index), then the value of the base vector is irrelevant. It can be poison. > Poison in vectors is element-wise

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-12 Thread Nuno Lopes via Phabricator via cfe-commits
nlopes added a comment. In D149548#4413598 , @uweigand wrote: > So the semantics of the `vec_promote(a, b)` intrinsic is defined as: > >> Returns a vector with a in element position b. The result is a vector with a >> in element position b. [...] The oth

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-12 Thread Ulrich Weigand via Phabricator via cfe-commits
uweigand added a comment. So the semantics of the `vec_promote(a, b)` intrinsic is defined as: > Returns a vector with a in element position b. The result is a vector with a > in element position b. [...] The other elements of the vector are undefined. This is currently implemented by using `in

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-09 Thread Manuel Brito via Phabricator via cfe-commits
ManuelJBrito added a comment. In D149548#4405173 , @qiucf wrote: > Why this changes IR output of following case? > > // RUN: clang vecpromote.c -S -o - -O0 -target s390x-linux-gnu -fzvector > -emit-llvm > #include > > vector int si; > int g;

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-06-08 Thread Qiu Chaofan via Phabricator via cfe-commits
qiucf added subscribers: jonpa, uweigand. qiucf added a comment. Why this changes IR output of following case? // RUN: clang vecpromote.c -S -o - -O0 -target s390x-linux-gnu -fzvector -emit-llvm #include vector int si; int g; int i; void foo() { si = vec_promote(g, i); }

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-05-18 Thread Manuel Brito via Phabricator via cfe-commits
ManuelJBrito added reviewers: qiucf, lkail, shchenz. ManuelJBrito added a comment. Adding some PowerPC folks to review the change in codegen for vec_promote. AFAICT its OK to have the undefined values be poison. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-05-06 Thread Manuel Brito via Phabricator via cfe-commits
ManuelJBrito added a reviewer: nemanjai. ManuelJBrito added a comment. Hello Nemanja is the change codegen for vec_promote OK? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149548/new/ https://reviews.llvm.org/D149548

[PATCH] D149548: [IR] Update to use new shufflevector semantics

2023-05-01 Thread Manuel Brito via Phabricator via cfe-commits
ManuelJBrito updated this revision to Diff 518434. ManuelJBrito added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. This change is visible in clang in particular in codegen for the vec_promote builtin. It now produces poison instead of undef for the undefined e