]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.md (move_from_CR_gt_bit): Enable for TARGET_HARD_FLOAT && !TARGET_FPRS, not...
authorJoseph Myers <joseph@codesourcery.com>
Fri, 5 Dec 2008 16:09:12 +0000 (16:09 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 5 Dec 2008 16:09:12 +0000 (16:09 +0000)
* 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

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/spe.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/20081204-1.c [new file with mode: 0644]

index 60d445505127a2191b11f5bae5a62f7c49e867a1..e42d80e9ecc55854d508951ad70fee4642157fbd 100644 (file)
@@ -1,3 +1,9 @@
+2008-12-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * 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  <jakub@redhat.com>
 
        PR tree-optimization/37716
index 4fa690d809770fce45f89fb8d0c4e2b50f179ee4..b1df32aa17cab8d785588818f0d138c90af7ad75 100644 (file)
 (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")])
index 96be255895b128867d35c2ddf4269cc665c3459b..50736f1a6ba0660be1e9a4b808eae5e350703502 100644 (file)
        (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")])
 
index 143eb235e0f4e3751f7578835acd68715df85d14..d342035cc9925bbdb1958294b483b2a96f206b90 100644 (file)
@@ -1,3 +1,7 @@
+2008-12-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.target/powerpc/20081204-1.c: New test.
+
 2008-12-05  Richard Guenther  <rguenther@suse.de>
 
        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 (file)
index 0000000..ba4df8f
--- /dev/null
@@ -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);
+}