re PR target/24315 (amd64 fails -fpeephole2)
PR target/24315 * config/i386/i386.md (*pushdi2_rex64 splitter) (*movdi_1_rex64 splitter, *ashldi3_1 splitter) (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after flow2 pass only when (optimize > 0 && flag_peephole2). testsuite: PR target/24315 * gcc.target/i386/pr24315.c: New test. From-SVN: r105489
This commit is contained in:
parent
af41c57d04
commit
9952399443
|
@ -1,3 +1,11 @@
|
|||
2005-10-17 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
PR target/24315
|
||||
* config/i386/i386.md (*pushdi2_rex64 splitter)
|
||||
(*movdi_1_rex64 splitter, *ashldi3_1 splitter)
|
||||
(*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
|
||||
flow2 pass only when (optimize > 0 && flag_peephole2).
|
||||
|
||||
2005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR driver/22544
|
||||
|
|
|
@ -1856,7 +1856,8 @@
|
|||
(define_split
|
||||
[(set (match_operand:DI 0 "push_operand" "")
|
||||
(match_operand:DI 1 "immediate_operand" ""))]
|
||||
"TARGET_64BIT && (flag_peephole2 ? flow2_completed : reload_completed)
|
||||
"TARGET_64BIT && ((optimize > 0 && flag_peephole2)
|
||||
? flow2_completed : reload_completed)
|
||||
&& !symbolic_operand (operands[1], DImode)
|
||||
&& !x86_64_immediate_operand (operands[1], DImode)"
|
||||
[(set (match_dup 0) (match_dup 1))
|
||||
|
@ -2085,7 +2086,8 @@
|
|||
(define_split
|
||||
[(set (match_operand:DI 0 "memory_operand" "")
|
||||
(match_operand:DI 1 "immediate_operand" ""))]
|
||||
"TARGET_64BIT && (flag_peephole2 ? flow2_completed : reload_completed)
|
||||
"TARGET_64BIT && ((optimize > 0 && flag_peephole2)
|
||||
? flow2_completed : reload_completed)
|
||||
&& !symbolic_operand (operands[1], DImode)
|
||||
&& !x86_64_immediate_operand (operands[1], DImode)"
|
||||
[(set (match_dup 2) (match_dup 3))
|
||||
|
@ -10413,7 +10415,8 @@
|
|||
(ashift:DI (match_operand:DI 1 "nonmemory_operand" "")
|
||||
(match_operand:QI 2 "nonmemory_operand" "")))
|
||||
(clobber (reg:CC FLAGS_REG))]
|
||||
"!TARGET_64BIT && (flag_peephole2 ? flow2_completed : reload_completed)"
|
||||
"!TARGET_64BIT && ((optimize > 0 && flag_peephole2)
|
||||
? flow2_completed : reload_completed)"
|
||||
[(const_int 0)]
|
||||
"ix86_split_ashl (operands, NULL_RTX, DImode); DONE;")
|
||||
|
||||
|
@ -11167,7 +11170,8 @@
|
|||
(ashiftrt:DI (match_operand:DI 1 "register_operand" "")
|
||||
(match_operand:QI 2 "nonmemory_operand" "")))
|
||||
(clobber (reg:CC FLAGS_REG))]
|
||||
"!TARGET_64BIT && (flag_peephole2 ? flow2_completed : reload_completed)"
|
||||
"!TARGET_64BIT && ((optimize > 0 && flag_peephole2)
|
||||
? flow2_completed : reload_completed)"
|
||||
[(const_int 0)]
|
||||
"ix86_split_ashr (operands, NULL_RTX, DImode); DONE;")
|
||||
|
||||
|
@ -11701,7 +11705,8 @@
|
|||
(lshiftrt:DI (match_operand:DI 1 "register_operand" "")
|
||||
(match_operand:QI 2 "nonmemory_operand" "")))
|
||||
(clobber (reg:CC FLAGS_REG))]
|
||||
"!TARGET_64BIT && (flag_peephole2 ? flow2_completed : reload_completed)"
|
||||
"!TARGET_64BIT && ((optimize > 0 && flag_peephole2)
|
||||
? flow2_completed : reload_completed)"
|
||||
[(const_int 0)]
|
||||
"ix86_split_lshr (operands, NULL_RTX, DImode); DONE;")
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2005-10-17 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
PR target/24315
|
||||
* gcc.target/i386/pr24315.c: New test.
|
||||
|
||||
2005-10-16 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/24389
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
/* PR target/24315 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O0 -fpeephole2" } */
|
||||
|
||||
void s48_double_to_bignum (int exponent)
|
||||
{
|
||||
long length = ((((exponent) + ((((sizeof (long)) * 8) - 2) - 1)) /
|
||||
(((sizeof (long)) * 8) - 2)));
|
||||
}
|
Loading…
Reference in New Issue