[PATCH] D34555: [NVPTX] Add lowering of i128 params.

Denys Zariaiev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 23 07:07:35 PDT 2017


denzp created this revision.

The patch adds support of i128 params lowering. The changes are quite trivial to support i128 as a "special case" of integer type. With this patch, we lower i128 params the same way as aggregates of size 16 bytes: `.param .b8 _ [16]`.

Currently, NVPTX can't deal with the 128 bit integers:

- in some cases because of failed assertions like `ValVTs.size() == OutVals.size() && "Bad return value decomposition"`
- in other cases emitting PTX with `.i128` or `.u128` types (which are not valid [1])

[1] http://docs.nvidia.com/cuda/parallel-thread-execution/index.html#fundamental-types


https://reviews.llvm.org/D34555

Files:
  lib/Target/NVPTX/NVPTXAsmPrinter.cpp
  lib/Target/NVPTX/NVPTXISelLowering.cpp
  test/CodeGen/NVPTX/i128-param.ll
  test/CodeGen/NVPTX/i128-retval.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34555.103725.patch
Type: text/x-patch
Size: 9855 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170623/16519cdf/attachment.bin>


More information about the llvm-commits mailing list