]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arc.md: Expand adc_0 comment stating the intended purpose and why it isn't ready.
authorJoern Rennecke <joern.rennecke@embecosm.com>
Tue, 1 Oct 2013 20:11:58 +0000 (20:11 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Tue, 1 Oct 2013 20:11:58 +0000 (21:11 +0100)
        * config/arc/arc.md: Expand adc_0 comment stating the intended
        purpose and why it isn't ready.
        Replace commented out call_value_via_label_mixed with a
        plain comment about bl_s.

Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r203085

gcc/ChangeLog
gcc/config/arc/arc.md

index 59fa14ed6196098aac20f3b2ad53a31fa0d55d2d..6ff29ebd6b3bac13d446f49c847018d575a9cf13 100644 (file)
@@ -9,6 +9,11 @@
        * doc/extend.texi (long_call/medium_call/short_call): Typo fix.
        (__builtin_arc_aligned): Likewise.
 
+       * config/arc/arc.md: Expand adc_0 comment stating the intended
+       purpose and why it isn't ready.
+       Replace commented out call_value_via_label_mixed with a
+       plain comment about bl_s.
+
 2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
 
        * config/arc/arc.c (arc_conditional_register_usage):
index 37103fe6ce0b9d2e4f0acccb6dfece772aba3aaf..aa8243a8c835712cf25afe5958fac49ac4577eb8 100644 (file)
       (set (match_dup 0)
           (plus:SI (match_dup 1) (match_dup 2)))])])
 
+; ??? need to delve into combine to find out why this is not useful.
+; We'd like to be able to grok various C idioms for carry bit usage.
 ;(define_insn "*adc_0"
 ;  [(set (match_operand:SI 0 "dest_reg_operand" "=w")
 ;      (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0))
    (set_attr "predicable" "no,no,yes,yes,no,yes,no,yes")
    (set_attr "length" "*,*,4,4,4,4,4,8")])
 
+; There is a bl_s instruction (16 bit opcode branch-and-link), but we can't
+; use it for lack of inter-procedural branch shortening.
+; Link-time relaxation would help...
 
-;; TODO - supporting 16-bit short "branch and link" insns if required.
-;(define_insn "*call_value_via_label_mixed"
-;  [(set (match_operand 0 "register_operand" "=r")
-;       (call (mem:SI (match_operand:SI 1 "call_address_operand" ""))
-;             (match_operand 2 "" "")))
-;  (clobber (reg:SI 31))]
-;  "TARGET_MIXED_CODE"
-;  "bl_s %1"
-;  [(set_attr "type" "call")])
 
 (define_insn "call_value_prof"
   [(set (match_operand 0 "dest_reg_operand" "=r,r")