aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2014-03-18 17:12:59 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2014-03-18 17:12:59 +0000
commit28f46d9f390123b822f82403649284d6f61e6153 (patch)
tree73b4df9d3e0b6cfdcd220a40cbed1f62889d9b7f /clang/lib/Frontend/CompilerInvocation.cpp
parented39e7cfebba4e92839877422c49db93a50e3a32 (diff)
downloadllvm-28f46d9f390123b822f82403649284d6f61e6153.zip
llvm-28f46d9f390123b822f82403649284d6f61e6153.tar.gz
llvm-28f46d9f390123b822f82403649284d6f61e6153.tar.bz2
[DAGCombiner] teach how to simplify xor/and/or nodes according to the following rules:
1) (AND (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (AND (A, B), C, Mask) 2) (OR (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (OR (A, B), C, Mask) 3) (XOR (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (XOR (A, B), V_0, Mask) 4) (AND (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (C, AND (A, B), Mask) 5) (OR (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (C, OR (A, B), Mask) 6) (XOR (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (V_0, XOR (A, B), Mask) llvm-svn: 204160
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions