Commit b7747781 by Torbjorn Granlund

(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
parent bbf42586
...@@ -157,6 +157,11 @@ extern enum alpha_fp_trap_mode alpha_fptm; ...@@ -157,6 +157,11 @@ extern enum alpha_fp_trap_mode alpha_fptm;
#define MASK_BUILD_CONSTANTS 128 #define MASK_BUILD_CONSTANTS 128
#define TARGET_BUILD_CONSTANTS (target_flags & MASK_BUILD_CONSTANTS) #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. /* Macro to define tables used to set the flags.
This is a list in braces of pairs in braces, This is a list in braces of pairs in braces,
each pair being { "NAME", VALUE } each pair being { "NAME", VALUE }
...@@ -174,6 +179,7 @@ extern enum alpha_fp_trap_mode alpha_fptm; ...@@ -174,6 +179,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
{"ieee", MASK_IEEE|MASK_IEEE_CONFORMANT}, \ {"ieee", MASK_IEEE|MASK_IEEE_CONFORMANT}, \
{"ieee-with-inexact", MASK_IEEE_WITH_INEXACT|MASK_IEEE_CONFORMANT}, \ {"ieee-with-inexact", MASK_IEEE_WITH_INEXACT|MASK_IEEE_CONFORMANT}, \
{"build-constants", MASK_BUILD_CONSTANTS}, \ {"build-constants", MASK_BUILD_CONSTANTS}, \
{"byte", MASK_BYTE_OPS}, \
{"", TARGET_DEFAULT | TARGET_CPU_DEFAULT} } {"", TARGET_DEFAULT | TARGET_CPU_DEFAULT} }
#define TARGET_DEFAULT MASK_FP|MASK_FPREGS #define TARGET_DEFAULT MASK_FP|MASK_FPREGS
...@@ -1466,7 +1472,7 @@ extern void final_prescan_insn (); ...@@ -1466,7 +1472,7 @@ extern void final_prescan_insn ();
will either zero-extend or sign-extend. The value of this macro should 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 be the code that says which one of the two operations is implicitly
done, NIL if none. */ 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 if loading short immediate values into registers sign extends. */
#define SHORT_IMMEDIATES_SIGN_EXTEND #define SHORT_IMMEDIATES_SIGN_EXTEND
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment