comparison gcc/config/crx/crx.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children f6334be47118
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
1 /* Definitions of target machine for GNU compiler, for CRX. 1 /* Definitions of target machine for GNU compiler, for CRX.
2 Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2 Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
3 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 3 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
4 Free Software Foundation, Inc. 4 Free Software Foundation, Inc.
5 5
6 This file is part of GCC. 6 This file is part of GCC.
7 7
8 GCC is free software; you can redistribute it and/or modify it 8 GCC is free software; you can redistribute it and/or modify it
289 289
290 #define RETURN_ADDRESS_REGNUM 14 290 #define RETURN_ADDRESS_REGNUM 14
291 291
292 #define FIRST_PARM_OFFSET(FNDECL) 0 292 #define FIRST_PARM_OFFSET(FNDECL) 0
293 293
294 #define FRAME_POINTER_REQUIRED (cfun->calls_alloca)
295
296 #define ELIMINABLE_REGS \ 294 #define ELIMINABLE_REGS \
297 { \ 295 { \
298 { ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ 296 { ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \
299 { ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ 297 { ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \
300 { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM} \ 298 { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM} \
301 } 299 }
302
303 #define CAN_ELIMINATE(FROM, TO) \
304 ((TO) == STACK_POINTER_REGNUM ? ! frame_pointer_needed : 1)
305 300
306 #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ 301 #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
307 do { \ 302 do { \
308 (OFFSET) = crx_initial_elimination_offset ((FROM), (TO)); \ 303 (OFFSET) = crx_initial_elimination_offset ((FROM), (TO)); \
309 } while (0) 304 } while (0)
371 /*****************************************************************************/ 366 /*****************************************************************************/
372 /* TRAMPOLINES FOR NESTED FUNCTIONS - NOT SUPPORTED */ 367 /* TRAMPOLINES FOR NESTED FUNCTIONS - NOT SUPPORTED */
373 /*****************************************************************************/ 368 /*****************************************************************************/
374 369
375 #define TRAMPOLINE_SIZE 32 370 #define TRAMPOLINE_SIZE 32
376
377 #define INITIALIZE_TRAMPOLINE(addr, fnaddr, static_chain) \
378 { \
379 sorry ("Trampoline support for CRX"); \
380 }
381 371
382 /*****************************************************************************/ 372 /*****************************************************************************/
383 /* ADDRESSING MODES */ 373 /* ADDRESSING MODES */
384 /*****************************************************************************/ 374 /*****************************************************************************/
385 375
402 #else 392 #else
403 #define REG_OK_FOR_BASE_P(X) 1 393 #define REG_OK_FOR_BASE_P(X) 1
404 #define REG_OK_FOR_INDEX_P(X) 1 394 #define REG_OK_FOR_INDEX_P(X) 1
405 #endif /* REG_OK_STRICT */ 395 #endif /* REG_OK_STRICT */
406 396
407 #ifdef REG_OK_STRICT
408 #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, LABEL) \
409 { \
410 if (crx_legitimate_address_p (MODE, X, 1)) \
411 goto LABEL; \
412 }
413 #else
414 #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, LABEL) \
415 { \
416 if (crx_legitimate_address_p (MODE, X, 0)) \
417 goto LABEL; \
418 }
419 #endif /* REG_OK_STRICT */
420
421 #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL)
422
423 #define LEGITIMATE_CONSTANT_P(X) 1 397 #define LEGITIMATE_CONSTANT_P(X) 1
424 398
425 /*****************************************************************************/ 399 /*****************************************************************************/
426 /* CONDITION CODE STATUS */ 400 /* CONDITION CODE STATUS */
427 /*****************************************************************************/ 401 /*****************************************************************************/
520 494
521 #define Pmode SImode 495 #define Pmode SImode
522 496
523 #define FUNCTION_MODE QImode 497 #define FUNCTION_MODE QImode
524 498
525 /*****************************************************************************/
526 /* EXTERNAL DECLARATIONS FOR VARIABLES DEFINED IN CRX.C */
527 /*****************************************************************************/
528
529 extern rtx crx_compare_op0; /* operand 0 for comparisons */
530 extern rtx crx_compare_op1; /* operand 1 for comparisons */
531
532 #endif /* ! GCC_CRX_H */ 499 #endif /* ! GCC_CRX_H */