* tree-ssa-math-opts.c (find_bswap_or_nop_1): Use uint64_t
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Oct 2014 13:51:28 +0000 (13:51 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Oct 2014 13:51:28 +0000 (13:51 +0000)
type for the left shift in CASE_CONVERT case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216793 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-ssa-math-opts.c

index 4104d8d..f57bfd8 100644 (file)
@@ -1,3 +1,8 @@
+2014-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssa-math-opts.c (find_bswap_or_nop_1): Use uint64_t
+       type for the left shift in CASE_CONVERT case.
+
 2014-10-28  Max Ostapenko  <m.ostapenko@partner.samsung.com>
 
        * asan.h (asan_intercepted_p): New function.
index 495a9fd..e0f2924 100644 (file)
@@ -1926,7 +1926,7 @@ find_bswap_or_nop_1 (gimple stmt, struct symbolic_number *n, int limit)
            if (!TYPE_UNSIGNED (n->type) && type_size > old_type_size
                && HEAD_MARKER (n->n, old_type_size))
              for (i = 0; i < type_size - old_type_size; i++)
-               n->n |= MARKER_BYTE_UNKNOWN
+               n->n |= (uint64_t) MARKER_BYTE_UNKNOWN
                        << ((type_size - 1 - i) * BITS_PER_MARKER);
 
            if (type_size < 64 / BITS_PER_MARKER)