[PATCH] D62546: [FPEnv] Added a special UnrollVectorOp method to deal with the chain on StrictFP opcodes
Andrew J Wock via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 28 13:03:34 PDT 2019
ajwock created this revision.
ajwock added reviewers: kpn, andrew.w.kaylor, craig.topper, cameron.mcinally, uweigand.
Herald added subscribers: llvm-commits, dmgreen.
Herald added a project: LLVM.
This change creates UnrollVectorOp_StrictFP. The purpose of this is to address a failure that consistently occurs when calling StrictFP functions on vectors whose number of elements is 3 + 2n on most platforms, such as PowerPC or SystemZ. The old UnrollVectorOp method does not expect that the vector that it will unroll will have a chain, so it has an assert that prevents it from running if this is the case. This new StrictFP version of the method deals with the chain while unrolling the vector. With this new function in place during vector widending, llc can run vector-constrained-fp-intrinsics.ll for SystemZ successfully.
Repository:
rL LLVM
https://reviews.llvm.org/D62546
Files:
lib/CodeGen/SelectionDAG/LegalizeTypes.h
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62546.201745.patch
Type: text/x-patch
Size: 168074 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190528/98e92219/attachment-0001.bin>
More information about the llvm-commits
mailing list