Fix PR78556 - left shift of negative values
Running bootstrap-ubsan on ppc64le shows many instances of e.g.: config/rs6000/rs6000.c:6217:36: runtime error: left shift of negative value -12301 PR target/78556 * config/rs6000/rs6000.c (vspltis_constant): Add casts to avoid left shifting of negative values. From-SVN: r242928
This commit is contained in:
parent
80cf1b8b60
commit
82979abd86
@ -1,3 +1,9 @@
|
||||
2016-11-28 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||||
|
||||
PR target/78556
|
||||
* config/rs6000/rs6000.c (vspltis_constant): Add casts to avoid
|
||||
left shifting of negative values.
|
||||
|
||||
2016-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/78298
|
||||
|
@ -6214,7 +6214,9 @@ vspltis_constant (rtx op, unsigned step, unsigned copies)
|
||||
bitsize /= 2;
|
||||
small_val = splat_val >> bitsize;
|
||||
mask >>= bitsize;
|
||||
if (splat_val != ((small_val << bitsize) | (small_val & mask)))
|
||||
if (splat_val != ((HOST_WIDE_INT)
|
||||
((unsigned HOST_WIDE_INT) small_val << bitsize)
|
||||
| (small_val & mask)))
|
||||
return false;
|
||||
splat_val = small_val;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user