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> 2018-04-12 Jakub Jelinek <jakub@redhat.com>
PR debug/83157 PR debug/83157
......
...@@ -5579,7 +5579,7 @@ ...@@ -5579,7 +5579,7 @@
(fix:SI (match_operand:SFDF 1 "gpc_reg_operand")))] (fix:SI (match_operand:SFDF 1 "gpc_reg_operand")))]
"TARGET_HARD_FLOAT && <TARGET_FLOAT>" "TARGET_HARD_FLOAT && <TARGET_FLOAT>"
{ {
if (!TARGET_P8_VECTOR) if (!(TARGET_P8_VECTOR && TARGET_DIRECT_MOVE))
{ {
rtx src = force_reg (<MODE>mode, operands[1]); rtx src = force_reg (<MODE>mode, operands[1]);
...@@ -5606,7 +5606,7 @@ ...@@ -5606,7 +5606,7 @@
"TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT "TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
&& (<MODE>mode != SFmode || TARGET_SINGLE_FLOAT) && (<MODE>mode != SFmode || TARGET_SINGLE_FLOAT)
&& TARGET_STFIWX && can_create_pseudo_p () && TARGET_STFIWX && can_create_pseudo_p ()
&& !TARGET_P8_VECTOR" && !(TARGET_P8_VECTOR && TARGET_DIRECT_MOVE)"
"#" "#"
"" ""
[(pc)] [(pc)]
...@@ -5647,7 +5647,8 @@ ...@@ -5647,7 +5647,8 @@
(fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d,<rreg>"))) (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 2 "gpc_reg_operand" "=1,d"))
(clobber (match_operand:DI 3 "offsettable_mem_operand" "=o,o"))] (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)] [(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