From 76945a7ca873ae605c0a7d136d35d118c1d73067 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Fri, 2 Mar 2012 19:41:21 +0100 Subject: [PATCH] i386.c (ix86_cc_modes_compatible): Declare CCZmode compatible with CCGOCmode and CCGCmode. * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode compatible with CCGOCmode and CCGCmode. From-SVN: r184813 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.c | 5 +++++ gcc/testsuite/ChangeLog | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 677a90b..284fd07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-03-02 Uros Bizjak + + * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode + compatible with CCGOCmode and CCGCmode. + 2012-03-02 Peter Bergner * config/rs6000/vsx.md (vsx_set_): Reorder operands. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 65c4c42..d68131a 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -17827,6 +17827,11 @@ ix86_cc_modes_compatible (enum machine_mode m1, enum machine_mode m2) || (m1 == CCGOCmode && m2 == CCGCmode)) return CCGCmode; + if (m1 == CCZmode && (m2 == CCGCmode || m2 == CCGOCmode)) + return m2; + else if (m2 == CCZmode && (m1 == CCGCmode || m1 == CCGOCmode)) + return m1; + switch (m1) { default: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 27872a3..4e11259 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -9,7 +9,7 @@ 2012-03-02 Uros Bizjak PR target/46716 - * gcc.target/i386/pr46176.c: New test. + * gcc.target/i386/pr46716.c: New test. 2012-03-02 Paolo Carlini -- 2.7.4