mirror of git://gcc.gnu.org/git/gcc.git
cris.h (TARGET_HAS_BREAK, [...]): New macros.
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8): New macros. * config/cris/cris.md ("trap"): Define, enabled for TARGET_TRAP_USING_BREAK8. * config/cris/cris.opt (mtrap-using-break8): New option. From-SVN: r187942
This commit is contained in:
parent
3d383eb787
commit
64f5af47c5
|
@ -1,3 +1,11 @@
|
||||||
|
2012-05-29 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
|
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
|
||||||
|
New macros.
|
||||||
|
* config/cris/cris.md ("trap"): Define, enabled for
|
||||||
|
TARGET_TRAP_USING_BREAK8.
|
||||||
|
* config/cris/cris.opt (mtrap-using-break8): New option.
|
||||||
|
|
||||||
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
|
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
PR c++/25137
|
PR c++/25137
|
||||||
|
|
|
@ -302,9 +302,14 @@ extern int cris_cpu_version;
|
||||||
|
|
||||||
#define TARGET_HAS_MUL_INSNS (cris_cpu_version >= CRIS_CPU_NG)
|
#define TARGET_HAS_MUL_INSNS (cris_cpu_version >= CRIS_CPU_NG)
|
||||||
#define TARGET_HAS_LZ (cris_cpu_version >= CRIS_CPU_ETRAX4)
|
#define TARGET_HAS_LZ (cris_cpu_version >= CRIS_CPU_ETRAX4)
|
||||||
|
#define TARGET_HAS_BREAK (cris_cpu_version >= CRIS_CPU_ETRAX4)
|
||||||
#define TARGET_HAS_SWAP (cris_cpu_version >= CRIS_CPU_SVINTO)
|
#define TARGET_HAS_SWAP (cris_cpu_version >= CRIS_CPU_SVINTO)
|
||||||
#define TARGET_V32 (cris_cpu_version >= CRIS_CPU_V32)
|
#define TARGET_V32 (cris_cpu_version >= CRIS_CPU_V32)
|
||||||
|
|
||||||
|
/* The "break" instruction was introduced with ETRAX 4. */
|
||||||
|
#define TARGET_TRAP_USING_BREAK8 \
|
||||||
|
(cris_trap_using_break8 == 2 ? TARGET_HAS_BREAK : cris_trap_using_break8)
|
||||||
|
|
||||||
/* Node: Storage Layout */
|
/* Node: Storage Layout */
|
||||||
|
|
||||||
#define BITS_BIG_ENDIAN 0
|
#define BITS_BIG_ENDIAN 0
|
||||||
|
|
|
@ -3825,6 +3825,14 @@
|
||||||
""
|
""
|
||||||
"nop"
|
"nop"
|
||||||
[(set_attr "cc" "none")])
|
[(set_attr "cc" "none")])
|
||||||
|
|
||||||
|
;; Same as the gdb trap breakpoint, will cause a SIGTRAP for
|
||||||
|
;; cris-linux* and crisv32-linux*, as intended. Will work in
|
||||||
|
;; freestanding environments with sufficient framework.
|
||||||
|
(define_insn "trap"
|
||||||
|
[(trap_if (const_int 1) (const_int 8))]
|
||||||
|
"TARGET_TRAP_USING_BREAK8"
|
||||||
|
"break 8")
|
||||||
|
|
||||||
;; We need to stop accesses to the stack after the memory is
|
;; We need to stop accesses to the stack after the memory is
|
||||||
;; deallocated. Unfortunately, reorg doesn't look at naked clobbers,
|
;; deallocated. Unfortunately, reorg doesn't look at naked clobbers,
|
||||||
|
|
|
@ -175,6 +175,10 @@ Target Report RejectNegative Joined Var(cris_max_stackframe_str)
|
||||||
max-stackframe=
|
max-stackframe=
|
||||||
Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str)
|
Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str)
|
||||||
|
|
||||||
|
mtrap-using-break8
|
||||||
|
Target Report Var(cris_trap_using_break8) Init(2)
|
||||||
|
Emit traps as \"break 8\", default for CRIS v3 and up. If disabled, calls to abort() are used.
|
||||||
|
|
||||||
; TARGET_SVINTO: Currently this just affects alignment. FIXME:
|
; TARGET_SVINTO: Currently this just affects alignment. FIXME:
|
||||||
; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here?
|
; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here?
|
||||||
; This and the others below could just as well be variables and
|
; This and the others below could just as well be variables and
|
||||||
|
|
Loading…
Reference in New Issue