]> granicus.if.org Git - clang/commit
Fix to handle all non-power-of-2 vector sizes in the mask form of _builtin_shuffle_ve...
authorCraig Topper <craig.topper@gmail.com>
Thu, 1 Aug 2013 06:42:40 +0000 (06:42 +0000)
committerCraig Topper <craig.topper@gmail.com>
Thu, 1 Aug 2013 06:42:40 +0000 (06:42 +0000)
commit2f66512a110844268c0f230ceea2c2ec1006858f
tree56d862573e12bbadd65f1ef3bd54f41d99d90711
parent576a9af150e4ddb34fd9cbede6eb5e3cf2bae9c8
Fix to handle all non-power-of-2 vector sizes in the mask form of _builtin_shuffle_vector.

Previously a 2-bit mask was used to mask each element of a vec6 mask before doing the extracts instead of 3-bit mask necessary to cover 0-5. vec3 was the only non-power-of-2 that worked correctly because a +1 conditionally added before calculating floor(log2(elements)).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187560 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGExprScalar.cpp