pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and "-mno-long-load-store".
* pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and "-mno-long-load-store". (TARGET_LONG_LOAD_STORE): Define. * pa.md (symbolic high part): Handle TARGET_LONG_LOAD_STORE. From-SVN: r11384
This commit is contained in:
parent
7e10a91972
commit
c3d4f633e6
@ -101,6 +101,10 @@ extern int target_flags;
|
||||
|
||||
#define TARGET_SOFT_FLOAT (target_flags & 256)
|
||||
|
||||
/* Use 3-insn load/store sequences for access to large data segments
|
||||
in shared libraries on hpux10. */
|
||||
#define TARGET_LONG_LOAD_STORE (target_flags & 512)
|
||||
|
||||
/* Macro to define tables used to set the flags.
|
||||
This is a list in braces of pairs in braces,
|
||||
each pair being { "NAME", VALUE }
|
||||
@ -126,6 +130,8 @@ extern int target_flags;
|
||||
{"no-gas", -128}, \
|
||||
{"soft-float", 256}, \
|
||||
{"no-soft-float", -256}, \
|
||||
{"long-load-store", 512}, \
|
||||
{"no-long-load-store", -512},\
|
||||
{"linker-opt", 0}, \
|
||||
{ "", TARGET_DEFAULT}}
|
||||
|
||||
|
@ -1693,9 +1693,19 @@
|
||||
&& ! function_label_operand (operands[1])
|
||||
&& ! read_only_operand (operands[1])
|
||||
&& ! flag_pic"
|
||||
"addil LR'%H1,%%r27"
|
||||
"*
|
||||
{
|
||||
if (TARGET_LONG_LOAD_STORE)
|
||||
return \"addil NLR'%H1,%%r27\;ldo N'%H1(%%r1),%%r1\";
|
||||
else
|
||||
return \"addil LR'%H1,%%r27\";
|
||||
}"
|
||||
[(set_attr "type" "binary")
|
||||
(set_attr "length" "4")])
|
||||
(set (attr "length")
|
||||
(if_then_else (eq (symbol_ref "TARGET_LONG_LOAD_STORE") (const_int 0))
|
||||
(const_int 4)
|
||||
(const_int 8)))])
|
||||
|
||||
|
||||
;; This is for use in the prologue/epilogue code. We need it
|
||||
;; to add large constants to a stack pointer or frame pointer.
|
||||
|
Loading…
Reference in New Issue
Block a user