This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SH][committed] Fix extendqihi2 expander on SH64


Hi,

This fixes an SH64 problem which was introduced in r185534 and went
unnoticed until recently.  There, the extendqihi2 insn was converted to
an expander and the TARGET_SH1 condition was wrongly omitted.  Tested
with 'make all-gcc' on sh-elf and sh64-elf.  Committed on trunk as
r218469, on 4.9 as r218470 and on 4.8 as r218471.

Cheers,
Oleg

gcc/ChangeLog:
	PR target/50751
	* config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.
Index: gcc/config/sh/sh.md
===================================================================
--- gcc/config/sh/sh.md	(revision 218464)
+++ gcc/config/sh/sh.md	(working copy)
@@ -6364,10 +6364,9 @@
 })
 
 (define_expand "extendqihi2"
-  [(set (match_operand:HI 0 "arith_reg_dest" "")
-	(sign_extend:HI (match_operand:QI 1 "arith_reg_operand" "")))]
-  ""
-  "")
+  [(set (match_operand:HI 0 "arith_reg_dest")
+	(sign_extend:HI (match_operand:QI 1 "arith_reg_operand")))]
+  "TARGET_SH1")
 
 (define_insn "*extendqihi2_compact_reg"
   [(set (match_operand:HI 0 "arith_reg_dest" "=r")

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]