[PATCH] D73599: [X86] Use a shorter sequence to implement FLT_ROUNDS

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 29 05:32:01 PST 2020


spatel accepted this revision.
spatel added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:25431
   To perform the conversion, we do:
-    (((((FPSR & 0x800) >> 11) | ((FPSR & 0x400) >> 9)) + 1) & 3)
+    (0x2d >> ((FPSR & 0xc00) >> 9)) & 3
   */
----------------
Nice hack. :)
We could use a code comment to explain this better:
0x2d --> (0b00,10,11,01) --> (0,2,3,1) >> FPSR[11:10]


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

https://reviews.llvm.org/D73599





More information about the llvm-commits mailing list