aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1996-04-10 22:51:22 -0600
committerJeff Law <law@gcc.gnu.org>1996-04-10 22:51:22 -0600
commit82fa9209b77fecb7aef48b767d5fa58598598498 (patch)
treeacda3f595c9432ef1e842f7e861c0da3a849a759
parentb5ccf84723cddc99d3800e610b625980d47eecde (diff)
downloadgcc-82fa9209b77fecb7aef48b767d5fa58598598498.zip
gcc-82fa9209b77fecb7aef48b767d5fa58598598498.tar.gz
gcc-82fa9209b77fecb7aef48b767d5fa58598598498.tar.bz2
h8300.c (dosize): On the h8300h, do 4 byte adjustments using adds and subs.
* h8300.c (dosize): On the h8300h, do 4 byte adjustments using adds and subs. * h8300.h (LONG_LONG_TYPE_SIZE): Always make this 32bits. Reverses change from Apr 2, 1996. From-SVN: r11696
-rw-r--r--gcc/config/h8300/h8300.c7
-rw-r--r--gcc/config/h8300/h8300.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 0a156f2..9fa2416 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -133,7 +133,12 @@ dosize (file, op, size, fped)
switch (size)
{
case 4:
- /* ??? TARGET_H8300H can do this in one insn. */
+ if (TARGET_H8300H)
+ {
+ fprintf (file, "\t%ss\t#%d,sp\n", op, 4);
+ size = 0;
+ break;
+ }
case 3:
fprintf (file, "\t%ss\t#%d,sp\n", op, 2);
size -= 2;
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index f2bee2c..78b006e 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -170,7 +170,7 @@ do { \
#define SHORT_TYPE_SIZE 16
#define INT_TYPE_SIZE (TARGET_INT32 ? 32 : 16)
#define LONG_TYPE_SIZE 32
-#define LONG_LONG_TYPE_SIZE (TARGET_INT32 ? 64 : 32)
+#define LONG_LONG_TYPE_SIZE 32
#define FLOAT_TYPE_SIZE 32
#define DOUBLE_TYPE_SIZE 32
#define LONG_DOUBLE_TYPE_SIZE DOUBLE_TYPE_SIZE