RFC: Jump to const_int
Richard Henderson
rth@redhat.com
Sun Jan 14 01:05:00 GMT 2001
On Fri, Jan 12, 2001 at 01:43:22PM -0500, John David Anglin wrote:
> (jump_insn 8 3 9 (set (pc)
> (const_int -1161904448 [0xbabebec0])) -1 (nil)
> (nil))
Indeed this is a problem. One solution is to modify computed_jump_p
so that it recognizes this. I'll probably do that. But another is
to change the predicate to match the constraints on indirect_jump so
that this value is pulled into a register right from the start.
r~
* config/vax/vax.md (indirect_jump): Use register_operand.
Index: config/vax/vax.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/vax/vax.md,v
retrieving revision 1.13
diff -c -p -d -r1.13 vax.md
*** vax.md 2001/01/14 08:59:18 1.13
--- vax.md 2001/01/14 09:01:45
***************
*** 1932,1938 ****
;; If you are tempted to try `g', please don't--it's not worth
;; the risk we will reopen the same bug.
(define_insn "indirect_jump"
! [(set (pc) (match_operand:SI 0 "general_operand" "r"))]
""
"jmp (%0)")
--- 1932,1938 ----
;; If you are tempted to try `g', please don't--it's not worth
;; the risk we will reopen the same bug.
(define_insn "indirect_jump"
! [(set (pc) (match_operand:SI 0 "register_operand" "r"))]
""
"jmp (%0)")
More information about the Gcc-bugs
mailing list