* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
@ 2014-11-17 16:14 ` hjl.tools at gmail dot com
2014-11-17 17:22 ` dominiq at lps dot ens.fr
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hjl.tools at gmail dot com @ 2014-11-17 16:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |5.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
2014-11-17 16:14 ` [Bug rtl-optimization/63917] " hjl.tools at gmail dot com
@ 2014-11-17 17:22 ` dominiq at lps dot ens.fr
2014-11-18 9:45 ` zhenqiang.chen at arm dot com
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-11-17 17:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
Dominique d'Humieres <dominiq at lps dot ens.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-11-17
Ever confirmed|0 |1
--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Same thing on x86_64-apple-darwin14.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
2014-11-17 16:14 ` [Bug rtl-optimization/63917] " hjl.tools at gmail dot com
2014-11-17 17:22 ` dominiq at lps dot ens.fr
@ 2014-11-18 9:45 ` zhenqiang.chen at arm dot com
2014-11-18 11:55 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: zhenqiang.chen at arm dot com @ 2014-11-18 9:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
--- Comment #3 from Zhenqiang Chen <zhenqiang.chen at arm dot com> ---
Root cause: r217646 enhances ifcvt to handle cbranchcc4 instruction. But ifcvt
does not check whether an insn will clobber CC or not, when moving it before
the cbranchcc4 instruction.
I will work out a patch to fix it.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (2 preceding siblings ...)
2014-11-18 9:45 ` zhenqiang.chen at arm dot com
@ 2014-11-18 11:55 ` rguenth at gcc dot gnu.org
2014-11-20 14:16 ` clyon at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-18 11:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Priority|P3 |P1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (3 preceding siblings ...)
2014-11-18 11:55 ` rguenth at gcc dot gnu.org
@ 2014-11-20 14:16 ` clyon at gcc dot gnu.org
2014-11-20 14:30 ` pinskia at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: clyon at gcc dot gnu.org @ 2014-11-20 14:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
clyon at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |clyon at gcc dot gnu.org
--- Comment #4 from clyon at gcc dot gnu.org ---
On aarch64, I have noticed that the following tests FAIL after r217646:
gcc.target/aarch64/test_frame_1.c scan-assembler-times ldr\tx30, \\[sp\\],
[0-9]+ 3
gcc.target/aarch64/test_frame_2.c scan-assembler-times ldp\tx19, x30,
\\[sp\\], [0-9]+ 2
gcc.target/aarch64/test_frame_4.c scan-assembler-times ldp\tx19, x30,
\\[sp\\], [0-9]+ 2
gcc.target/aarch64/test_frame_6.c scan-assembler-times ldr\tx30, \\[sp\\],
[0-9]+ 3
gcc.target/aarch64/test_frame_7.c scan-assembler-times ldp\tx19, x30,
\\[sp\\], [0-9]+ 2
(tested on aarch64 and aarch64_be)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (4 preceding siblings ...)
2014-11-20 14:16 ` clyon at gcc dot gnu.org
@ 2014-11-20 14:30 ` pinskia at gcc dot gnu.org
2014-11-21 1:28 ` hjl.tools at gmail dot com
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-11-20 14:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to clyon from comment #4)
> On aarch64, I have noticed that the following tests FAIL after r217646:
That is recorded as bug 63971 and just a testsuite issue. In that the return is
no longer duplicated so the loads are not either. Anyways I have a fix which I
will be posting this weekend.
> gcc.target/aarch64/test_frame_1.c scan-assembler-times ldr\tx30, \\[sp\\],
> [0-9]+ 3
> gcc.target/aarch64/test_frame_2.c scan-assembler-times ldp\tx19, x30,
> \\[sp\\], [0-9]+ 2
> gcc.target/aarch64/test_frame_4.c scan-assembler-times ldp\tx19, x30,
> \\[sp\\], [0-9]+ 2
> gcc.target/aarch64/test_frame_6.c scan-assembler-times ldr\tx30, \\[sp\\],
> [0-9]+ 3
> gcc.target/aarch64/test_frame_7.c scan-assembler-times ldp\tx19, x30,
> \\[sp\\], [0-9]+ 2
>
> (tested on aarch64 and aarch64_be)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (5 preceding siblings ...)
2014-11-20 14:30 ` pinskia at gcc dot gnu.org
@ 2014-11-21 1:28 ` hjl.tools at gmail dot com
2014-12-04 12:02 ` fxcoudert at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hjl.tools at gmail dot com @ 2014-11-21 1:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |su at cs dot ucdavis.edu
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
*** Bug 64007 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (6 preceding siblings ...)
2014-11-21 1:28 ` hjl.tools at gmail dot com
@ 2014-12-04 12:02 ` fxcoudert at gcc dot gnu.org
2014-12-05 14:36 ` dominiq at lps dot ens.fr
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: fxcoudert at gcc dot gnu.org @ 2014-12-04 12:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxcoudert at gcc dot gnu.org
--- Comment #8 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
(In reply to Zhenqiang Chen from comment #3)
> Root cause: r217646 enhances ifcvt to handle cbranchcc4 instruction. But
> ifcvt does not check whether an insn will clobber CC or not, when moving it
> before the cbranchcc4 instruction.
This is a clear and important regression, miscompiling real-life code. Can we
get this fixed, or should we ask to revert 217646 until this is fixed?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (7 preceding siblings ...)
2014-12-04 12:02 ` fxcoudert at gcc dot gnu.org
@ 2014-12-05 14:36 ` dominiq at lps dot ens.fr
2014-12-12 5:52 ` zqchen at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-12-05 14:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
--- Comment #9 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
A patch has been submitted at
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00478.html waiting for
approval!-(
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (8 preceding siblings ...)
2014-12-05 14:36 ` dominiq at lps dot ens.fr
@ 2014-12-12 5:52 ` zqchen at gcc dot gnu.org
2014-12-12 9:01 ` trippels at gcc dot gnu.org
2015-04-07 13:24 ` yroux at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: zqchen at gcc dot gnu.org @ 2014-12-12 5:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
--- Comment #10 from zqchen at gcc dot gnu.org ---
Author: zqchen
Date: Fri Dec 12 05:51:19 2014
New Revision: 218658
URL: https://gcc.gnu.org/viewcvs?rev=218658&root=gcc&view=rev
Log:
2014-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
PR rtl-optimization/63917
* ifcvt.c (cc_in_cond): New function.
(end_ifcvt_sequence): Make sure new generated insns do not clobber CC.
(noce_process_if_block, check_cond_move_block): Check CC references.
testsuite/ChangeLog:
2014-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
* gcc.dg/pr64007.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/pr64007.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ifcvt.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (9 preceding siblings ...)
2014-12-12 5:52 ` zqchen at gcc dot gnu.org
@ 2014-12-12 9:01 ` trippels at gcc dot gnu.org
2015-04-07 13:24 ` yroux at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-12-12 9:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |trippels at gcc dot gnu.org
Resolution|--- |FIXED
--- Comment #11 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/63917] [5 Regression] r217646 caused many failures
2014-11-17 16:12 [Bug rtl-optimization/63917] New: [5 Regression] r217646 caused many failures hjl.tools at gmail dot com
` (10 preceding siblings ...)
2014-12-12 9:01 ` trippels at gcc dot gnu.org
@ 2015-04-07 13:24 ` yroux at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: yroux at gcc dot gnu.org @ 2015-04-07 13:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63917
--- Comment #12 from Yvan Roux <yroux at gcc dot gnu.org> ---
Author: yroux
Date: Tue Apr 7 13:24:05 2015
New Revision: 221894
URL: https://gcc.gnu.org/viewcvs?rev=221894&root=gcc&view=rev
Log:
gcc/
2015-04-07 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r217062, r217646, r218658.
2014-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
PR rtl-optimization/63917
* ifcvt.c (cc_in_cond): New function.
(end_ifcvt_sequence): Make sure new generated insns do not clobber CC.
(noce_process_if_block, check_cond_move_block): Check CC references.
2014-11-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
* ifcvt.c (HAVE_cbranchcc4): Define.
(noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
Use HAVE_cbranchcc4.
2014-11-04 Zhenqiang Chen <zhenqiang.chen@arm.com>
Revert:
2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com>
* ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
Allow CC mode if HAVE_cbranchcc4.
gcc/testsuite/
2015-04-07 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r218658.
2014-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
* gcc.dg/pr64007.c: New test.
Added:
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr64007.c
Modified:
branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
branches/linaro/gcc-4_9-branch/gcc/ifcvt.c
branches/linaro/gcc-4_9-branch/gcc/testsuite/ChangeLog.linaro
^ permalink raw reply [flat|nested] 13+ messages in thread