[PATCH] D140988: [SystemZ] Implement lowering of GET_ROUNDING

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 11 12:22:04 PST 2023


uweigand added a comment.

In D140988#4044864 <https://reviews.llvm.org/D140988#4044864>, @tuliom wrote:

> In D140988#4042746 <https://reviews.llvm.org/D140988#4042746>, @uweigand wrote:
>
>>   CWD1 = efpc() & 3
>>   CWD2 = (CWD1 ^ (CWD1 >> 1)) ^ 1
>
> @uweigand  This is not generating the right output.

How so?   Looks like this would produce:

  CWD1  CWD1>>1  (CWD1 ^ (CWD1>>1))   (CWD1 ^ (CWD1>>1)) ^ 1
   00     00           00                    01
   01     00           01                    00
   10     01           11                    10
   11     01           10                    11

which seems exactly the transformation we want?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140988



More information about the llvm-commits mailing list