diff options
author | Jan-Benedict Glaw <jbglaw@lug-owl.de> | 2005-05-14 17:55:33 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2005-05-14 17:55:33 +0000 |
commit | 0f8def688dde484c63a3d5271d10b2c0bfbd2c0e (patch) | |
tree | 76566f21da0dcbbe9229a13501bf86923ccb0775 /gcc/config/vax | |
parent | d001241c891257e800616794649895443e5432ff (diff) | |
download | gcc-0f8def688dde484c63a3d5271d10b2c0bfbd2c0e.zip gcc-0f8def688dde484c63a3d5271d10b2c0bfbd2c0e.tar.gz gcc-0f8def688dde484c63a3d5271d10b2c0bfbd2c0e.tar.bz2 |
vax.md: define_constant VAXens AP...
* config/vax/vax.md: define_constant VAXens AP, FP, SP and PC
registers and use them (specifically the stack pointer).
* config/vax/vax.h: Use above defines right here.
From-SVN: r99702
Diffstat (limited to 'gcc/config/vax')
-rw-r--r-- | gcc/config/vax/vax.h | 8 | ||||
-rw-r--r-- | gcc/config/vax/vax.md | 24 |
2 files changed, 18 insertions, 14 deletions
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h index 3fed80b..8625988 100644 --- a/gcc/config/vax/vax.h +++ b/gcc/config/vax/vax.h @@ -167,13 +167,13 @@ Boston, MA 02111-1307, USA. */ The values of these macros are register numbers. */ /* VAX pc is overloaded on a register. */ -#define PC_REGNUM 15 +#define PC_REGNUM VAX_PC_REGNUM /* Register to use for pushing function arguments. */ -#define STACK_POINTER_REGNUM 14 +#define STACK_POINTER_REGNUM VAX_SP_REGNUM /* Base register for access to local variables of the function. */ -#define FRAME_POINTER_REGNUM 13 +#define FRAME_POINTER_REGNUM VAX_FP_REGNUM /* Value should be nonzero if functions must have frame pointers. Zero means the frame pointer need not be set up (and parms @@ -182,7 +182,7 @@ Boston, MA 02111-1307, USA. */ #define FRAME_POINTER_REQUIRED 1 /* Base register for access to arguments of the function. */ -#define ARG_POINTER_REGNUM 12 +#define ARG_POINTER_REGNUM VAX_AP_REGNUM /* Register in which static-chain is passed to a function. */ #define STATIC_CHAIN_REGNUM 0 diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md index 78aa140..a77f841 100644 --- a/gcc/config/vax/vax.md +++ b/gcc/config/vax/vax.md @@ -31,9 +31,13 @@ ;; UNSPEC_VOLATILE usage: (define_constants - [(VUNSPEC_BLOCKAGE 0) ; `blockage' insn to prevent scheduling across an - ; insn in the code. + [(VUNSPEC_BLOCKAGE 0) ; `blockage' insn to prevent scheduling across an + ; insn in the code. (VUNSPEC_SYNC_ISTREAM 1) ; sequence of insns to sync the I-stream + (VAX_AP_REGNUM 12) ; Register 12 contains the argument pointer + (VAX_FP_REGNUM 13) ; Register 13 contains the frame pointer + (VAX_SP_REGNUM 14) ; Register 14 contains the stack pointer + (VAX_PC_REGNUM 15) ; Register 15 contains the program counter ] ) @@ -1196,8 +1200,8 @@ (define_expand "call_pop" [(parallel [(call (match_operand:QI 0 "memory_operand" "") (match_operand:SI 1 "const_int_operand" "")) - (set (reg:SI 14) - (plus:SI (reg:SI 14) + (set (reg:SI VAX_SP_REGNUM) + (plus:SI (reg:SI VAX_SP_REGNUM) (match_operand:SI 3 "immediate_operand" "")))])] "" { @@ -1213,8 +1217,8 @@ (define_insn "*call_pop" [(call (match_operand:QI 0 "memory_operand" "m") (match_operand:SI 1 "const_int_operand" "n")) - (set (reg:SI 14) (plus:SI (reg:SI 14) - (match_operand:SI 2 "immediate_operand" "i")))] + (set (reg:SI VAX_SP_REGNUM) (plus:SI (reg:SI VAX_SP_REGNUM) + (match_operand:SI 2 "immediate_operand" "i")))] "" { operands[1] = GEN_INT ((INTVAL (operands[1]) - 4) / 4); @@ -1225,8 +1229,8 @@ [(parallel [(set (match_operand 0 "" "") (call (match_operand:QI 1 "memory_operand" "") (match_operand:SI 2 "const_int_operand" ""))) - (set (reg:SI 14) - (plus:SI (reg:SI 14) + (set (reg:SI VAX_SP_REGNUM) + (plus:SI (reg:SI VAX_SP_REGNUM) (match_operand:SI 4 "immediate_operand" "")))])] "" { @@ -1243,8 +1247,8 @@ [(set (match_operand 0 "" "") (call (match_operand:QI 1 "memory_operand" "m") (match_operand:SI 2 "const_int_operand" "n"))) - (set (reg:SI 14) (plus:SI (reg:SI 14) - (match_operand:SI 3 "immediate_operand" "i")))] + (set (reg:SI VAX_SP_REGNUM) (plus:SI (reg:SI VAX_SP_REGNUM) + (match_operand:SI 3 "immediate_operand" "i")))] "" "* { |