diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-08 00:31:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-08 00:31:33 +0000 |
commit | bb30203c9e9f60a5695451ee91b51fc0e560a6e5 (patch) | |
tree | 3ca1809851786fbd67edae8a390aa2045516e1ad /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | c075c2cee3c1bd522df13d7308982098efb00388 (diff) | |
download | external_llvm-bb30203c9e9f60a5695451ee91b51fc0e560a6e5.zip external_llvm-bb30203c9e9f60a5695451ee91b51fc0e560a6e5.tar.gz external_llvm-bb30203c9e9f60a5695451ee91b51fc0e560a6e5.tar.bz2 |
dag combine sext(setcc) -> vsetcc before legalize. To make this safe,
VSETCC must define all bits, which is different than it was documented
to before. Since all targets that implement VSETCC already have this
behavior, and we don't optimize based on this, just change the
documentation. We now get nice code for vec_compare.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74978 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 9752537..ac345af 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -363,12 +363,11 @@ namespace ISD { // them with (op #2) as a CondCodeSDNode. SETCC, - // Vector SetCC operator - This evaluates to a vector of integer elements - // with the high bit in each element set to true if the comparison is true - // and false if the comparison is false. All other bits in each element - // are undefined. The operands to this are the left and right operands - // to compare (ops #0, and #1) and the condition code to compare them with - // (op #2) as a CondCodeSDNode. + // RESULT = VSETCC(LHS, RHS, COND) operator - This evaluates to a vector of + // integer elements with all bits of the result elements set to true if the + // comparison is true or all cleared if the comparison is false. The + // operands to this are the left and right operands to compare (LHS/RHS) and + // the condition code to compare them with (COND) as a CondCodeSDNode. VSETCC, // SHL_PARTS/SRA_PARTS/SRL_PARTS - These operators are used for expanded |