mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-21 05:43:09 +00:00
98bc4decde
Signed-off-by: Alexey Neyman <stilor@att.net>
33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
|
|
From: Max Filippov <jcmvbkbc@gmail.com>
|
|
Date: Fri, 10 Apr 2015 17:46:30 +0300
|
|
Subject: [PATCH] Fix PR target/65730
|
|
|
|
2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
|
|
gcc/
|
|
* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
|
|
by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
|
|
|
|
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
---
|
|
Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
|
|
Changes to ChangeLog are dropped.
|
|
|
|
gcc/config/xtensa/xtensa.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
--- a/gcc/config/xtensa/xtensa.c
|
|
+++ b/gcc/config/xtensa/xtensa.c
|
|
@@ -1436,8 +1436,9 @@
|
|
if (ac->shift != NULL_RTX)
|
|
{
|
|
/* Shift is the byte count, but we need the bitcount. */
|
|
- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
|
|
- GEN_INT (BITS_PER_UNIT),
|
|
+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
|
|
+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
|
|
+ GEN_INT (exact_log2 (BITS_PER_UNIT)),
|
|
NULL_RTX, 1, OPTAB_DIRECT);
|
|
ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
|
GEN_INT (GET_MODE_MASK (mode)),
|