[PATCH] D140988: [SystemZ] Implement lowering of GET_ROUNDING
Tulio Magno Quites Machado Filho via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 11 12:11:37 PST 2023
tuliom added a comment.
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.
Actually, the current revision here is already broken.
Originally, this patch had:
CWD2 = (~FPC ^ 0x3) >> 1
This can be rewritten as:
CWD2 = ((FPC >> 1) ^ 1 & 0x1)
But this is not going to save any instructions.
================
Comment at: llvm/test/CodeGen/SystemZ/flt-rounds.ll:23
+
+define dso_local signext i32 @test_order(i32 noundef signext %0) {
+; CHECK-LABEL: test_order:
----------------
nikic wrote:
> nit: You can add `nounwind` to avoid irrelevant cfi directives.
@nikic I'm afraid there is an issue between `update_llc_test_checks.py` and SystemZ.
Whenever `nounwind` is used, the `CHECK`s are removed.
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