PR target/65576
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Apr 2015 23:16:26 +0000 (23:16 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Apr 2015 23:16:26 +0000 (23:16 +0000)
PR target/65240
* config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
0.0 constant unless TARGET_VSX.
* config/rs6000/rs6000.md (extenddftf2_internal): Remove last
alternative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221862 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000.md

index 03e8e3e..d29f29a 100644 (file)
@@ -1,3 +1,12 @@
+2015-04-04  Alan Modra  <amodra@gmail.com>
+
+       PR target/65576
+       PR target/65240
+       * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
+       0.0 constant unless TARGET_VSX.
+       * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
+       alternative.
+
 2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
 
        PR ipa/65648
index 6abb40b..3c8dfe6 100644 (file)
 
 ;; Return 1 if the operand is CONST_DOUBLE 0, register or memory operand.
 (define_predicate "zero_reg_mem_operand"
-  (ior (match_operand 0 "zero_fp_constant")
+  (ior (and (match_test "TARGET_VSX")
+           (match_operand 0 "zero_fp_constant"))
        (match_operand 0 "reg_or_mem_operand")))
 
 ;; Return 1 if the operand is a CONST_INT and it is the element for 64-bit
index da96287..5025e60 100644 (file)
 })
 
 (define_insn_and_split "*extenddftf2_internal"
-  [(set (match_operand:TF 0 "nonimmediate_operand" "=m,Y,ws,d,&d,r")
-       (float_extend:TF (match_operand:DF 1 "input_operand" "d,r,md,md,md,rm")))
-   (use (match_operand:DF 2 "zero_reg_mem_operand" "d,r,j,m,d,n"))]
+  [(set (match_operand:TF 0 "nonimmediate_operand" "=m,Y,ws,d,&d")
+       (float_extend:TF (match_operand:DF 1 "input_operand" "d,r,md,md,md")))
+   (use (match_operand:DF 2 "zero_reg_mem_operand" "d,r,j,m,d"))]
   "!TARGET_IEEEQUAD
    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT 
    && TARGET_LONG_DOUBLE_128"