[PATCH] D110346: [SystemZ] Implement ISD::BITCAST for fp128 -> i128.

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 23 10:02:06 PDT 2021


jonpa created this revision.
jonpa added a reviewer: uweigand.
Herald added a subscriber: hiraditya.
jonpa requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The type legalizer has by default no method of doing this bitcast other than storing and reloading the value from stack.

This patch implements a custom lowering of this operation using extractions of subregs (z13 and earlier using FP128 register pairs), or of vector elements (with vector enhancements-1 using VR128 FP registers).

(Unfortunately there is no "low" subreg for a VR128 reg, so that case had to get its own separate handling.)


https://reviews.llvm.org/D110346

Files:
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/test/CodeGen/SystemZ/fp-conv-19.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110346.374593.patch
Type: text/x-patch
Size: 5280 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210923/7128a1d8/attachment-0001.bin>


More information about the llvm-commits mailing list