Commit ed086e7e by Segher Boessenkool Committed by Segher Boessenkool

rs6000: Fix an ICE with -mno-direct-move (PR85291)


	PR target/85291
	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Use legacy code if
	asked to not generate direct moves.
	(fix_trunc<mode>si2_stfiwx): Similar.
	(fix_trunc<mode>si2_internal): Similar.

From-SVN: r259354
parent ff111948
2018-04-12 Segher Boessenkool <segher@kernel.crashing.org>
PR target/85291
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Use legacy code if
asked to not generate direct moves.
(fix_trunc<mode>si2_stfiwx): Similar.
(fix_trunc<mode>si2_internal): Similar.
2018-04-12 Jakub Jelinek <jakub@redhat.com>
PR debug/83157
......
......@@ -5579,7 +5579,7 @@
(fix:SI (match_operand:SFDF 1 "gpc_reg_operand")))]
"TARGET_HARD_FLOAT && <TARGET_FLOAT>"
{
if (!TARGET_P8_VECTOR)
if (!(TARGET_P8_VECTOR && TARGET_DIRECT_MOVE))
{
rtx src = force_reg (<MODE>mode, operands[1]);
......@@ -5606,7 +5606,7 @@
"TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
&& (<MODE>mode != SFmode || TARGET_SINGLE_FLOAT)
&& TARGET_STFIWX && can_create_pseudo_p ()
&& !TARGET_P8_VECTOR"
&& !(TARGET_P8_VECTOR && TARGET_DIRECT_MOVE)"
"#"
""
[(pc)]
......@@ -5647,7 +5647,8 @@
(fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d,<rreg>")))
(clobber (match_operand:DI 2 "gpc_reg_operand" "=1,d"))
(clobber (match_operand:DI 3 "offsettable_mem_operand" "=o,o"))]
"TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !TARGET_P8_VECTOR"
"TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
&& !(TARGET_P8_VECTOR && TARGET_DIRECT_MOVE)"
"#"
""
[(pc)]
......
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