mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-02 09:50:27 +08:00
re PR target/79514 (ICE in curr_insn_transform, at lra-constraints.c:3773)
PR target/79514 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. testsuite/ChangeLog: PR target/79514 * gcc.target/i386/pr79514.c: New test. From-SVN: r245844
This commit is contained in:
parent
fe792dd82f
commit
dc362ada54
@ -1,3 +1,8 @@
|
||||
2017-03-02 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/79514
|
||||
* config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
|
||||
|
||||
2017-03-02 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/79780
|
||||
@ -2036,7 +2041,7 @@
|
||||
scalar_stmt_cost and vec_stmt_cost.
|
||||
|
||||
2017-02-01 Torvald Riegel <triegel@redhat.com>
|
||||
Richard Henderson <rth@redhat.com>
|
||||
Richard Henderson <rth@redhat.com>
|
||||
|
||||
* builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
|
||||
conditional on existance of a fast atomic load.
|
||||
@ -2337,9 +2342,9 @@
|
||||
2017-01-27 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
PR target/79239
|
||||
* arm.c (arm_option_override): Don't call build_target_option_node
|
||||
until after doing all option overrides.
|
||||
(arm_valid_target_attribute_tree): Likewise.
|
||||
* arm.c (arm_option_override): Don't call build_target_option_node
|
||||
until after doing all option overrides.
|
||||
(arm_valid_target_attribute_tree): Likewise.
|
||||
|
||||
2017-01-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
|
@ -3015,6 +3015,36 @@
|
||||
operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
|
||||
})
|
||||
|
||||
(define_insn_and_split "*pushxf_rounded"
|
||||
[(set (mem:XF
|
||||
(pre_modify:DI
|
||||
(reg:DI SP_REG)
|
||||
(plus:DI (reg:DI SP_REG) (const_int -16))))
|
||||
(match_operand:XF 0 "nonmemory_no_elim_operand" "f,r,*r,C"))]
|
||||
"TARGET_64BIT"
|
||||
"#"
|
||||
"&& 1"
|
||||
[(set (reg:DI SP_REG) (plus:DI (reg:DI SP_REG) (const_int -16)))
|
||||
(set (match_dup 1) (match_dup 0))]
|
||||
{
|
||||
rtx pat = PATTERN (curr_insn);
|
||||
operands[1] = SET_DEST (pat);
|
||||
|
||||
/* Preserve memory attributes. */
|
||||
operands[1] = replace_equiv_address (operands[1], stack_pointer_rtx);
|
||||
}
|
||||
[(set_attr "type" "multi")
|
||||
(set_attr "unit" "i387,*,*,*")
|
||||
(set (attr "mode")
|
||||
(cond [(eq_attr "alternative" "1,2,3")
|
||||
(const_string "DI")
|
||||
]
|
||||
(const_string "XF")))
|
||||
(set (attr "preferred_for_size")
|
||||
(cond [(eq_attr "alternative" "1")
|
||||
(symbol_ref "false")]
|
||||
(symbol_ref "true")))])
|
||||
|
||||
(define_insn "*pushxf"
|
||||
[(set (match_operand:XF 0 "push_operand" "=<,<,<,<")
|
||||
(match_operand:XF 1 "general_no_elim_operand" "f,r,*r,oF"))]
|
||||
|
@ -1,3 +1,8 @@
|
||||
2017-03-02 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/79514
|
||||
* gcc.target/i386/pr79514.c: New test.
|
||||
|
||||
2017-03-02 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/79780
|
||||
@ -1082,7 +1087,7 @@
|
||||
|
||||
2017-02-02 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||||
|
||||
* gcc.dg/sms-8.c: Update options for powerpc*-*-*.
|
||||
* gcc.dg/sms-8.c: Update options for powerpc*-*-*.
|
||||
|
||||
2017-02-02 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
|
12
gcc/testsuite/gcc.target/i386/pr79514.c
Normal file
12
gcc/testsuite/gcc.target/i386/pr79514.c
Normal file
@ -0,0 +1,12 @@
|
||||
/* PR target/79514 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-m96bit-long-double" } */
|
||||
|
||||
extern void bar (long double);
|
||||
|
||||
extern long double x;
|
||||
|
||||
void foo (void)
|
||||
{
|
||||
bar (x);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user