RFA: RL78: Add missing instruction patterns

DJ Delorie dj@redhat.com
Fri Feb 14 19:38:00 GMT 2014


I'm OK with adding patterns in general, but I wonder if gcc would
produce better code if they were split into QImode ops earlier?

+  [(set (match_operand:HI         0 "register_operand"  "=Av")
+	(and:HI (match_operand:HI 1 "register_operand"  "0")
+		(match_operand:HI 2 "immediate_operand" "n")))
+   ]
+  "rl78_real_insns_ok ()"
+  "and\t%q0, %q2 \; and\t%Q0, %Q2"

You can't use %Q with AX and AND.

+;; operations upon pointers.  Failure to provide these patterns
+;; results in GCC generating illegal subregs, eg: (SUBREG:QI (REG:HI 33) 1)

Why is that subreg illegal?

+(define_insn "*nandhi3_virt"

Is this one just an optimization?



More information about the Gcc-patches mailing list