summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AArch64/vecreduce-propagate-sd-flags.ll
Commit message (Collapse)AuthorAgeFilesLines
* Improve reduction intrinsics by overloading result value.Sander de Smalen2019-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch uses the mechanism from D62995 to strengthen the definitions of the reduction intrinsics by letting the scalar result/accumulator type be overloaded from the vector element type. For example: ; The LLVM LangRef specifies that the scalar result must equal the ; vector element type, but this is not checked/enforced by LLVM. declare i32 @llvm.experimental.vector.reduce.or.i32.v4i32(<4 x i32> %a) This patch changes that into: declare i32 @llvm.experimental.vector.reduce.or.v4i32(<4 x i32> %a) Which has the type-constraint more explicit and causes LLVM to check the result type with the vector element type. Reviewers: RKSimon, arsenm, rnk, greened, aemerson Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D62996 llvm-svn: 363240
* [DAG] propagate FMF for all FPMathOperatorsSanjay Patel2018-05-151-2/+1
| | | | | | | | | | | | | | | | | This is a simple hack based on what's proposed in D37686, but we can extend it if needed in follow-ups. It gets us most of the FMF functionality that we want without adding any state bits to the flags. It also intentionally leaves out non-FMF flags (nsw, etc) to minimize the patch. It should provide a superset of the functionality from D46563 - the extra tests show propagation and codegen diffs for fcmp, vecreduce, and FP libcalls. The PPC log2() test shows the limits of this most basic approach - we only applied 'afn' to the last node created for the call. AFAIK, there aren't any libcall optimizations based on the flags currently, so that shouldn't make any difference. Differential Revision: https://reviews.llvm.org/D46854 llvm-svn: 332358
* [AArch64] enhance test to show FMF loss; NFCSanjay Patel2018-05-141-1/+2
| | | | llvm-svn: 332301
* Revert r327199: "Clean up a temp file on the buildbots"George Burgess IV2018-03-101-2/+0
| | | | | | | "I'll revert this tomorrow," I said yesterday. This should've reached all the bots it can by now. llvm-svn: 327230
* Clean up a temp file on the buildbots.George Burgess IV2018-03-101-0/+2
| | | | | | | | | r327100 made us stop producing vecreduce-propagate-sd-flags.s, but it's still sticking around on some bots. This makes the bots unhappy. I'll revert this tomorrow. llvm-svn: 327199
* Attempt to fix vecreduce-propagate-sd-flags.ll test.Matt Morehouse2018-03-091-1/+1
| | | | | | Buildbots have been failing since r327079. llvm-svn: 327100
* Propagate flags to SDValue in SplitVecOp_VECREDUCESameer AbuAsal2018-03-081-0/+31
This patch is a fix for PR36642. While legalizing long vector types, make sure the smaller types get the flags of the wider type. bugzilla link: https://bugs.llvm.org/show_bug.cgi?id=36642 Change-Id: I0c2829639f094c862c10a6b51b342d4c2563e1fa llvm-svn: 327079
OpenPOWER on IntegriCloud