re PR target/45946 (ICE: in extract_insn, at recog.c:2127 when using _Decimal128 with -Os -fno-omit-frame-pointer)
PR target/45946 * config/i386/i386.md (*pushti2): New insn pattern. (pushti2 splitter): New insn splitter. testsuite/ChangeLog: PR target/45946 * gcc.target/i386/pr45946.c: New test. Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com> From-SVN: r165824
This commit is contained in:
parent
1cb6fd731d
commit
021274a4a7
|
@ -1,3 +1,9 @@
|
|||
2010-10-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/45946
|
||||
* config/i386/i386.md (*pushti2): New insn pattern.
|
||||
(pushti2 splitter): New insn splitter.
|
||||
|
||||
2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR fortran/42169
|
||||
|
|
|
@ -2561,6 +2561,12 @@
|
|||
DONE;
|
||||
})
|
||||
|
||||
(define_insn "*pushti"
|
||||
[(set (match_operand:TI 0 "push_operand" "=<")
|
||||
(match_operand:TI 1 "general_no_elim_operand" "riF*m"))]
|
||||
"TARGET_64BIT"
|
||||
"#")
|
||||
|
||||
(define_insn "*movti_internal"
|
||||
[(set (match_operand:TI 0 "nonimmediate_operand" "=x,x,m")
|
||||
(match_operand:TI 1 "vector_move_operand" "C,xm,x"))]
|
||||
|
@ -2667,6 +2673,14 @@
|
|||
(const_string "TI"))]
|
||||
(const_string "DI")))])
|
||||
|
||||
(define_split
|
||||
[(set (match_operand:TI 0 "push_operand" "")
|
||||
(match_operand:TI 1 "general_operand" ""))]
|
||||
"TARGET_64BIT && reload_completed
|
||||
&& !SSE_REG_P (operands[1])"
|
||||
[(const_int 0)]
|
||||
"ix86_split_long_move (operands); DONE;")
|
||||
|
||||
(define_split
|
||||
[(set (match_operand:TI 0 "nonimmediate_operand" "")
|
||||
(match_operand:TI 1 "general_operand" ""))]
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2010-10-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/45946
|
||||
* gcc.target/i386/pr45946.c: New test.
|
||||
|
||||
2010-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
Backport from mainline:
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target dfp } */
|
||||
/* { dg-options "-std=gnu99 -Os -fno-omit-frame-pointer" } */
|
||||
|
||||
void
|
||||
__attribute__((noinline))
|
||||
bar (_Decimal128, _Decimal128, _Decimal128, _Decimal128, _Decimal128,
|
||||
_Decimal128, _Decimal128, _Decimal128, _Decimal128);
|
||||
|
||||
void
|
||||
foo (void)
|
||||
{
|
||||
bar (0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
}
|
Loading…
Reference in New Issue