Commit 69223fae by Alan Modra Committed by Alan Modra

re PR target/65576 (ICE in gcc.c-torture/compile/pr33855.c)

	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.

From-SVN: r221862
parent f107227b
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
......
......@@ -964,7 +964,8 @@
;; 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
......
......@@ -8369,9 +8369,9 @@
})
(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"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment