aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2014-08-04 13:13:57 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2014-08-04 13:13:57 +0000
commitc4cc7febb0fb4f1b2484bd6b406bc2177b85649e (patch)
treedce88ec6e998caf442a2b25b861706526629835d /clang/lib/Frontend/CompilerInvocation.cpp
parente9f24a9b3bf3d9ba1e26af30ec72ec555aceda0c (diff)
downloadllvm-c4cc7febb0fb4f1b2484bd6b406bc2177b85649e.zip
llvm-c4cc7febb0fb4f1b2484bd6b406bc2177b85649e.tar.gz
llvm-c4cc7febb0fb4f1b2484bd6b406bc2177b85649e.tar.bz2
[PowerPC] Fix and improve vector comparisons
This patch refactors code generation of vector comparisons. This fixes a wrong code-gen bug for ISD::SETGE for floating-point types, and improves generated code for vector comparisons in general. Specifically, the patch moves all logic deciding how to implement vector comparisons into getVCmpInst, which gets two extra boolean outputs indicating to its caller whether its needs to swap the input operands and/or negate the result of the comparison. Apart from implementing these two modifications as directed by getVCmpInst, there is no need to ever implement vector comparisons in any other manner; in particular, there is never a need to perform two separate comparisons (e.g. one for equal and one for greater-than, as code used to do before this patch). Reviewed by Bill Schmidt. llvm-svn: 214714
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions