From: Jeff Law Date: Thu, 1 Oct 1992 17:06:29 +0000 (-0600) Subject: pa.md (add high part and dp register): Split into two patterns, one for normal code... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9c36061e487695a08080999ba6761c4a58cc41a0;p=gcc.git pa.md (add high part and dp register): Split into two patterns, one for normal code, one for kernels. * pa.md (add high part and dp register): Split into two patterns, one for normal code, one for kernels. Kernel version only allows "r1" as the destination register. From-SVN: r2298 --- diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index f2651c5b9da..6e726069873 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -751,13 +751,23 @@ [(set (match_operand:SI 0 "register_operand" "=a,&?*r") (plus:SI (match_operand:SI 1 "register_operand" "r,r") (high:SI (match_operand 2 "" ""))))] - "" + "!TARGET_KERNEL" "@ addil L'%G2,%1 ldil L'%G2,%0\;add %0,%1,%0" [(set_attr "type" "binary,binary") (set_attr "length" "1,2")]) +(define_insn "" + [(set (match_operand:SI 0 "register_operand" "=a") + (plus:SI (match_operand:SI 1 "register_operand" "r") + (high:SI (match_operand 2 "" ""))))] + "TARGET_KERNEL" + "@ + addil L'%G2,%1" + [(set_attr "type" "binary") + (set_attr "length" "1")]) + (define_split [(set (match_operand:SI 0 "register_operand" "") (plus:SI (match_operand:SI 1 "register_operand" "")