diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2011-12-13 12:07:01 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-12-13 12:07:01 -0800 |
commit | b826bea7f3a828f9a8d23a0828572452101ced42 (patch) | |
tree | b51ff1980c56c199511e2a406274c144de43fd81 /gcc/fold-const.c | |
parent | 38a53a0e25ac25724fae62ec6c340337805e6bc8 (diff) | |
download | gcc-b826bea7f3a828f9a8d23a0828572452101ced42.zip gcc-b826bea7f3a828f9a8d23a0828572452101ced42.tar.gz gcc-b826bea7f3a828f9a8d23a0828572452101ced42.tar.bz2 |
Revert two unintended commits
From-SVN: r182301
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 89c68cf..a32ea90 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -13503,6 +13503,8 @@ fold_binary_loc (location_t loc, case VEC_EXTRACT_EVEN_EXPR: case VEC_EXTRACT_ODD_EXPR: + case VEC_INTERLEAVE_HIGH_EXPR: + case VEC_INTERLEAVE_LOW_EXPR: if ((TREE_CODE (arg0) == VECTOR_CST || TREE_CODE (arg0) == CONSTRUCTOR) && (TREE_CODE (arg1) == VECTOR_CST @@ -13520,6 +13522,14 @@ fold_binary_loc (location_t loc, case VEC_EXTRACT_ODD_EXPR: sel[i] = i * 2 + 1; break; + case VEC_INTERLEAVE_HIGH_EXPR: + sel[i] = (i + (BYTES_BIG_ENDIAN ? 0 : nelts)) / 2 + + ((i & 1) ? nelts : 0); + break; + case VEC_INTERLEAVE_LOW_EXPR: + sel[i] = (i + (BYTES_BIG_ENDIAN ? nelts : 0)) / 2 + + ((i & 1) ? nelts : 0); + break; default: gcc_unreachable (); } |