diff options
author | Jeff Law <law@redhat.com> | 2015-09-29 10:28:51 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2015-09-29 10:28:51 -0600 |
commit | 187a0dd603cd33a0246b6707f3783fae096e9e95 (patch) | |
tree | d418d70bfcac5833df52223a815a18ba8aaf03b7 | |
parent | 3ea7f8e52498b9db9a16fe61ea4c37619acb088b (diff) | |
download | gcc-187a0dd603cd33a0246b6707f3783fae096e9e95.zip gcc-187a0dd603cd33a0246b6707f3783fae096e9e95.tar.gz gcc-187a0dd603cd33a0246b6707f3783fae096e9e95.tar.bz2 |
[PATCH] Fix undefined behaviour in rl78 port
[PATCH] Fix undefined behaviour in rl78 port
* config/rl78/rl78-expand.md (movqi): Fix undefined left shift
behaviour.
From-SVN: r228252
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/rl78/rl78-expand.md | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b9985a..79dc89f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2015-09-29 Jeff Law <law@redhat.com> + * config/rl78/rl78-expand.md (movqi): Fix undefined left shift + behaviour. + * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined left shift behaviour. * config/msp430/constraints.md ('L' constraint): Similarly. diff --git a/gcc/config/rl78/rl78-expand.md b/gcc/config/rl78/rl78-expand.md index 0335a4d..67e6620 100644 --- a/gcc/config/rl78/rl78-expand.md +++ b/gcc/config/rl78/rl78-expand.md @@ -48,7 +48,7 @@ && ! REG_P (operands[0])) operands[1] = copy_to_mode_reg (QImode, operands[1]); - if (CONST_INT_P (operands[1]) && ! IN_RANGE (INTVAL (operands[1]), (-1 << 8) + 1, (1 << 8) - 1)) + if (CONST_INT_P (operands[1]) && ! IN_RANGE (INTVAL (operands[1]), (HOST_WIDE_INT_M1U << 8) + 1, (1 << 8) - 1)) FAIL; } ) |