aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/riscv
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2017-11-05 00:30:40 +0000
committerPalmer Dabbelt <palmer@gcc.gnu.org>2017-11-05 00:30:40 +0000
commitecc82a8d0551e02afc9bb4d9dff450f6f0098b4e (patch)
tree271bc9ce736e4248272134f3f89c16dee2d9ac9a /gcc/config/riscv
parentd327feb3d71cfc51c09ed375fa333ff552745f5d (diff)
downloadgcc-ecc82a8d0551e02afc9bb4d9dff450f6f0098b4e.zip
gcc-ecc82a8d0551e02afc9bb4d9dff450f6f0098b4e.tar.gz
gcc-ecc82a8d0551e02afc9bb4d9dff450f6f0098b4e.tar.bz2
RISC-V: Set SLOW_BYTE_ACCESS=1
When implementing the RISC-V port, I took the name of this macro at face value. It appears we were mistaken in what this means, here's a quote from the SPARC port that better describes what SLOW_BYTE_ACCESS does /* Nonzero if access to memory by bytes is slow and undesirable. For RISC chips, it means that access to memory by bytes is no better than access by words when possible, so grab a whole word and maybe make use of that. */ I've added the comment to our port as well. See https://gcc.gnu.org/ml/gcc/2017-08/msg00202.html for more discussion. Thanks to Michael Clark and Andrew Pinski for the help! gcc/ChangeLog 2017-11-04 Andrew Waterman <andrew@sifive.com> * config/riscv/riscv.h (SLOW_BYTE_ACCESS): Change to 1. From-SVN: r254416
Diffstat (limited to 'gcc/config/riscv')
-rw-r--r--gcc/config/riscv/riscv.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index e53555e..a802a3f 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -615,7 +615,12 @@ typedef struct {
#define MOVE_MAX UNITS_PER_WORD
#define MAX_MOVE_MAX 8
-#define SLOW_BYTE_ACCESS 0
+/* The SPARC port says:
+ Nonzero if access to memory by bytes is slow and undesirable.
+ For RISC chips, it means that access to memory by bytes is no
+ better than access by words when possible, so grab a whole word
+ and maybe make use of that. */
+#define SLOW_BYTE_ACCESS 1
#define SHIFT_COUNT_TRUNCATED 1