From: Joseph Myers Date: Fri, 5 Dec 2008 16:09:12 +0000 (+0000) Subject: rs6000.md (move_from_CR_gt_bit): Enable for TARGET_HARD_FLOAT && !TARGET_FPRS, not... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c187a21f76390d3bfd0ca2235ec432c23147f957;p=platform%2Fupstream%2Fgcc.git rs6000.md (move_from_CR_gt_bit): Enable for TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500. * config/rs6000/rs6000.md (move_from_CR_gt_bit): Enable for TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500. * config/rs6000/spe.md (e500_cr_ior_compare): Likewise. testsuite: * gcc.target/powerpc/20081204-1.c: New test. From-SVN: r142477 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60d4455..e42d80e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-12-05 Joseph Myers + + * config/rs6000/rs6000.md (move_from_CR_gt_bit): Enable for + TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500. + * config/rs6000/spe.md (e500_cr_ior_compare): Likewise. + 2008-12-05 Jakub Jelinek PR tree-optimization/37716 diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 4fa690d..b1df32a 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -12215,7 +12215,7 @@ (define_insn "move_from_CR_gt_bit" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") (unspec:SI [(match_operand 1 "cc_reg_operand" "y")] UNSPEC_MV_CR_GT))] - "TARGET_E500" + "TARGET_HARD_FLOAT && !TARGET_FPRS" "mfcr %0\;{rlinm|rlwinm} %0,%0,%D1,31,31" [(set_attr "type" "mfcr") (set_attr "length" "8")]) diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md index 96be255..50736f1 100644 --- a/gcc/config/rs6000/spe.md +++ b/gcc/config/rs6000/spe.md @@ -3135,7 +3135,7 @@ (unspec:CCFP [(match_operand 1 "cc_reg_operand" "y") (match_operand 2 "cc_reg_operand" "y")] E500_CR_IOR_COMPARE))] - "TARGET_E500" + "TARGET_HARD_FLOAT && !TARGET_FPRS" "cror 4*%0+gt,4*%1+gt,4*%2+gt" [(set_attr "type" "cr_logical")]) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 143eb23..d342035 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2008-12-05 Joseph Myers + + * gcc.target/powerpc/20081204-1.c: New test. + 2008-12-05 Richard Guenther PR testsuite/38406 diff --git a/gcc/testsuite/gcc.target/powerpc/20081204-1.c b/gcc/testsuite/gcc.target/powerpc/20081204-1.c new file mode 100644 index 0000000..ba4df8f --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/20081204-1.c @@ -0,0 +1,7 @@ +/* Test for ICE arising from inconsistent use of TARGET_E500 versus + TARGET_HARD_FLOAT && !TARGET_FPRS. */ +/* { dg-do compile } */ +/* { dg-options "-mcpu=750 -mfloat-gprs=single" } */ +static int comp(const void *a,const void *b){ + return (*(float *)a<*(float *)b)-(*(float *)a>*(float *)b); +}