diff options
author | Jeff Law <law@redhat.com> | 2018-10-23 16:51:25 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-10-23 16:51:25 -0600 |
commit | 040e0e441049f32c103b59f78ca75c68cd8408d4 (patch) | |
tree | e7f2fea7b0ec1adf11139ea92ff1fb4d06f89b31 | |
parent | 72eda5f274b9d6212f9f3f3bada72505b9c3a958 (diff) | |
download | gcc-040e0e441049f32c103b59f78ca75c68cd8408d4.zip gcc-040e0e441049f32c103b59f78ca75c68cd8408d4.tar.gz gcc-040e0e441049f32c103b59f78ca75c68cd8408d4.tar.bz2 |
h8300.c (h8300_expand_prologue): Fix stm generation for H8/S.
* config/h8300/h8300.c (h8300_expand_prologue): Fix stm generation
for H8/S.
From-SVN: r265444
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f0820c0..5fe8205 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-12 Jeff Law <law@redhat.com> + + * config/h8300/h8300.c (h8300_expand_prologue): Fix stm generation + for H8/S. + 2018-10-23 Richard Biener <rguenther@suse.de> * tree-vrp.c (add_assert_info): Guard dump_printf with diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index 596f2fd..24b7485 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -865,15 +865,15 @@ h8300_expand_prologue (void) if (TARGET_H8300S) { /* See how many registers we can push at the same time. */ - if ((!TARGET_H8300SX || (regno & 3) == 0) + if ((TARGET_H8300SX || (regno & 3) == 0) && ((saved_regs >> regno) & 0x0f) == 0x0f) n_regs = 4; - else if ((!TARGET_H8300SX || (regno & 3) == 0) + else if ((TARGET_H8300SX || (regno & 3) == 0) && ((saved_regs >> regno) & 0x07) == 0x07) n_regs = 3; - else if ((!TARGET_H8300SX || (regno & 1) == 0) + else if ((TARGET_H8300SX || (regno & 1) == 0) && ((saved_regs >> regno) & 0x03) == 0x03) n_regs = 2; } |