return true;
}
-/* Return true if we use LRA instead of reload pass. */
-static bool
-s390_lra_p (void)
-{
- return s390_lra_flag;
-}
-
/* Return true if register FROM can be eliminated via register TO. */
static bool
#undef TARGET_LEGITIMATE_CONSTANT_P
#define TARGET_LEGITIMATE_CONSTANT_P s390_legitimate_constant_p
-#undef TARGET_LRA_P
-#define TARGET_LRA_P s390_lra_p
-
#undef TARGET_CAN_ELIMINATE
#define TARGET_CAN_ELIMINATE s390_can_eliminate
values are small, non-negative integers. The default branch cost is
1.
-mlra
-Target Var(s390_lra_flag) Init(1) Save
-Use LRA instead of reload.
-
mpic-data-is-text-relative
Target Var(s390_pic_data_is_text_relative) Init(TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE)
Assume data segments are relative to text segment.
; skipping UrlSuffix for 'mbranch-cost=' due to finding no URLs
-; skipping UrlSuffix for 'mlra' due to finding no URLs
-
; skipping UrlSuffix for 'mpic-data-is-text-relative' due to finding no URLs
; skipping UrlSuffix for 'mindirect-branch=' due to finding no URLs
+++ /dev/null
-/* { dg-do compile { target int128 } } */
-/* { dg-options "-O3 -mno-lra" } */
-
-/* 2x lghi */
-__int128 a() {
- return 0;
-}
-
-/* 2x lghi */
-__int128 b() {
- return -1;
-}
-
-/* 2x lghi */
-__int128 c() {
- return -2;
-}
-
-/* lghi + llilh */
-__int128 d() {
- return 16000 << 16;
-}
-
-/* lghi + llihf */
-__int128 e() {
- return (unsigned long long)80000 << 32;
-}
-
-/* lghi + llihf */
-__int128 f() {
- return (unsigned __int128)80000 << 96;
-}
-
-/* llihf + llihf - this is handled via movti_bigconst pattern */
-__int128 g() {
- return ((unsigned __int128)80000 << 96) | ((unsigned __int128)80000 << 32);
-}
-
-/* Literal pool */
-__int128 h() {
- return ((unsigned __int128)80000 << 32) | 1;
-}
-
-/* Literal pool */
-__int128 i() {
- return (((unsigned __int128)80000 << 32) | 1) << 64;
-}
+++ /dev/null
-/* { dg-do compile { target int128 } } */
-/* { dg-options "-O1 -mno-lra" } */
-
-unsigned __int128 g;
-void
-foo ()
-{
- g = (unsigned __int128)1 << 127;
-}