[PATCH] D70214: [X86] Add custom type legalization and lowering for scalar STRICT_FP_TO_SINT/UINT

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 13 17:09:09 PST 2019


craig.topper created this revision.
craig.topper added reviewers: andrew.w.kaylor, kpn, RKSimon, spatel, pengfei.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

This is a first pass at Custom lowering for these operations. I also updated some of the vector code where it was obviously easy and straightforward. More work needed in follow up.

This enables these operations to be handled with X87 where special rounding control adjustments are needed to perform a truncate.

Still need to fix Promotion in the target independent code in LegalizeDAG.
llrint/llround split into separate test file because we can't make a strict libcall properly yet either and we need to do that when i64 isn't a legal type.

This does not include any isel support. So we still rely on the mutation in SelectionDAGIsel to remove the strict from this stuff later. Except for the X87 stuff which goes through custom nodes that already had chains.


https://reviews.llvm.org/D70214

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.h
  llvm/test/CodeGen/X86/fp-intrinsics-x86_64.ll
  llvm/test/CodeGen/X86/fp-intrinsics.ll
  llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70214.229208.patch
Type: text/x-patch
Size: 57737 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191114/811c9a79/attachment-0001.bin>


More information about the llvm-commits mailing list