[PATCH] D72805: [X86] Remove X86ISD::FILD_FLAG and stop gluing nodes together.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 18 01:02:21 PST 2020


craig.topper marked an inline comment as done.
craig.topper added inline comments.


================
Comment at: llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll:636
 ; AVX-32:       # %bb.0:
 ; AVX-32-NEXT:    pushl %ebp
 ; AVX-32-NEXT:    .cfi_def_cfa_offset 8
----------------
I wonder if it would make sense to parallelize this. I think we can shift the v4i64 right by 32, trunc to v4i32 use sitofp to convert that part to double. Multiply that by 2^32 in double. That should all be lossless.

Then for the bottom 32 bits we can mask with 0xffffffff. OR with the double representation for 2^52. Then subtract 2^52 from it. This should also be lossless.

Then we just add the two double vectors together which should be the only part that does any rounding.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D72805





More information about the llvm-commits mailing list