[PATCH] D143880: [LoongArch] Emit bytepick for picking from concatenation of two values

Xi Ruoyao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 13 04:53:27 PST 2023


xry111 added a comment.

In D143880#4122602 <https://reviews.llvm.org/D143880#4122602>, @xen0n wrote:

> In D143880#4121913 <https://reviews.llvm.org/D143880#4121913>, @xen0n wrote:
>
>> @xry111: BTW your GCC implementation of this pattern looks for *arithmetic* right shifts; do you mean logical instead? Because obviously the higher bits would be full of ones after shifting if `rj` happen to have its MSB set. The sign extension shall happen *after* the pick.
>
> My bad, I'm not familiar with GCC RTL patterns so I've mistakenly thought "`lshiftrt` could be some 'left' shift, so `ashift` must be an arithmetic right shift". Actually your pattern is correct as you have perfect test coverage. Please ignore my comment...

Yes, the naming in GCC confused me as well :).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143880/new/

https://reviews.llvm.org/D143880



More information about the llvm-commits mailing list