aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gnu.org>1996-11-12 22:51:54 +0000
committerTorbjorn Granlund <tege@gnu.org>1996-11-12 22:51:54 +0000
commitb7747781463e8327cf993370055d344fb26abb54 (patch)
tree40782963990283d150c8161c57f5a7a2308bc51a /gcc
parentbbf42586f00c5c0d0f5b906428c64742eed5826f (diff)
downloadgcc-b7747781463e8327cf993370055d344fb26abb54.zip
gcc-b7747781463e8327cf993370055d344fb26abb54.tar.gz
gcc-b7747781463e8327cf993370055d344fb26abb54.tar.bz2
(MASK_BYTE_OPS): New define.
(TARGET_BYTE_OPS): New define. (TARGET_SWITCHES): Handle -mbyte. (LOAD_EXTEND_OP): When MODE is not SImode, return ZERO_EXTEND. From-SVN: r13147
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/alpha/alpha.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index dbd16a5..2c3df5d 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -157,6 +157,11 @@ extern enum alpha_fp_trap_mode alpha_fptm;
#define MASK_BUILD_CONSTANTS 128
#define TARGET_BUILD_CONSTANTS (target_flags & MASK_BUILD_CONSTANTS)
+/* This means that the processor has byte and half word loads and stores. */
+
+#define MASK_BYTE_OPS 256
+#define TARGET_BYTE_OPS (target_flags & MASK_BYTE_OPS)
+
/* Macro to define tables used to set the flags.
This is a list in braces of pairs in braces,
each pair being { "NAME", VALUE }
@@ -174,6 +179,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
{"ieee", MASK_IEEE|MASK_IEEE_CONFORMANT}, \
{"ieee-with-inexact", MASK_IEEE_WITH_INEXACT|MASK_IEEE_CONFORMANT}, \
{"build-constants", MASK_BUILD_CONSTANTS}, \
+ {"byte", MASK_BYTE_OPS}, \
{"", TARGET_DEFAULT | TARGET_CPU_DEFAULT} }
#define TARGET_DEFAULT MASK_FP|MASK_FPREGS
@@ -1466,7 +1472,7 @@ extern void final_prescan_insn ();
will either zero-extend or sign-extend. The value of this macro should
be the code that says which one of the two operations is implicitly
done, NIL if none. */
-#define LOAD_EXTEND_OP(MODE) SIGN_EXTEND
+#define LOAD_EXTEND_OP(MODE) ((MODE) == SImode ? SIGN_EXTEND : ZERO_EXTEND)
/* Define if loading short immediate values into registers sign extends. */
#define SHORT_IMMEDIATES_SIGN_EXTEND