forked from OSchip/llvm-project
51c2fa0e2a
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 |
||
---|---|---|
.. | ||
64-bit-vector.ll | ||
PR38339.ll | ||
commute.ll | ||
ext-trunc.ll | ||
gather-cost.ll | ||
gather-reduce.ll | ||
gather-root.ll | ||
getelementptr.ll | ||
horizontal.ll | ||
lit.local.cfg | ||
load-store-q.ll | ||
matmul.ll | ||
minimum-sizes.ll | ||
mismatched-intrinsics.ll | ||
nontemporal.ll | ||
remarks.ll | ||
sdiv-pow2.ll | ||
spillcost-di.ll | ||
transpose.ll | ||
tsc-s352.ll |