pa.md (default set high): Do not accept function label arithmetic as a valid operand.
authorJeff Law <law@gcc.gnu.org>
Tue, 9 Aug 1994 06:03:07 +0000 (00:03 -0600)
committerJeff Law <law@gcc.gnu.org>
Tue, 9 Aug 1994 06:03:07 +0000 (00:03 -0600)
* pa.md (default set high): Do not accept function label arithmetic
as a valid operand.
(default lo_sum): Likewise.

From-SVN: r7883

gcc/config/pa/pa.md

index 5c955c430679d7b9cf2ed43916575acdddcd0866..1ccdffa988308e92e614bd8d24404a055b52f02b 100644 (file)
 (define_insn ""
   [(set (match_operand:SI 0 "register_operand" "=r")
        (high:SI (match_operand 1 "" "")))]
-  "check_pic (1)"
+  "check_pic (1) && !is_function_label_plus_const (operands[1])"
   "ldil L'%G1,%0"
   [(set_attr "type" "move")
    (set_attr "length" "4")])
   [(set (match_operand:SI 0 "register_operand" "=r")
        (lo_sum:SI (match_operand:SI 1 "register_operand" "r")
                   (match_operand:SI 2 "immediate_operand" "i")))]
-  ""
+  "!is_function_label_plus_const (operands[2])"
   "ldo R'%G2(%1),%0"
   [(set_attr "length" "4")])