comparison gcc/config/visium/visium.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Definitions of target machine for Visium. 1 /* Definitions of target machine for Visium.
2 Copyright (C) 2002-2017 Free Software Foundation, Inc. 2 Copyright (C) 2002-2018 Free Software Foundation, Inc.
3 Contributed by C.Nettleton, J.P.Parkes and P.Garbett. 3 Contributed by C.Nettleton, J.P.Parkes and P.Garbett.
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify it 7 GCC is free software; you can redistribute it and/or modify it
1209 An alias for the machine mode used for memory references to 1209 An alias for the machine mode used for memory references to
1210 functions being called, in `call' RTL expressions. On most 1210 functions being called, in `call' RTL expressions. On most
1211 machines this should be `QImode'. */ 1211 machines this should be `QImode'. */
1212 #define FUNCTION_MODE SImode 1212 #define FUNCTION_MODE SImode
1213 1213
1214 /* `NO_IMPLICIT_EXTERN_C'
1215
1216 Define this macro if the system header files support C++ as well as
1217 C. This macro inhibits the usual method of using system header
1218 files in C++, which is to pretend that the file's contents are
1219 enclosed in `extern "C" {...}'. */
1220 #define NO_IMPLICIT_EXTERN_C
1221
1222 /* Dividing the Output into Sections (Texts, Data, ...) 1214 /* Dividing the Output into Sections (Texts, Data, ...)
1223 1215
1224 An object file is divided into sections containing different types 1216 An object file is divided into sections containing different types
1225 of data. In the most common case, there are three sections: the 1217 of data. In the most common case, there are three sections: the
1226 "text section", which holds instructions and read-only data; the 1218 "text section", which holds instructions and read-only data; the
1454 of a jump table. 1446 of a jump table.
1455 1447
1456 Here we output a word of zero so that jump-tables can be seperated 1448 Here we output a word of zero so that jump-tables can be seperated
1457 in reverse assembly. */ 1449 in reverse assembly. */
1458 #define ASM_OUTPUT_CASE_END(STREAM, NUM, TABLE) \ 1450 #define ASM_OUTPUT_CASE_END(STREAM, NUM, TABLE) \
1459 asm_fprintf (STREAM, "\t.long 0\n"); 1451 asm_fprintf (STREAM, "\t.long 0\n")
1452
1453 /* Support subalignment values. */
1454
1455 #define SUBALIGN_LOG 3
1460 1456
1461 /* Assembler Commands for Alignment 1457 /* Assembler Commands for Alignment
1462 1458
1463 This describes commands for alignment. 1459 This describes commands for alignment.
1464 1460
1488 A C statement to output to the stdio stream STREAM an assembler 1484 A C statement to output to the stdio stream STREAM an assembler
1489 command to advance the location counter to a multiple of 2 to the 1485 command to advance the location counter to a multiple of 2 to the
1490 POWER bytes. POWER will be a C expression of type `int'. */ 1486 POWER bytes. POWER will be a C expression of type `int'. */
1491 #define ASM_OUTPUT_ALIGN(STREAM,LOG) \ 1487 #define ASM_OUTPUT_ALIGN(STREAM,LOG) \
1492 if ((LOG) != 0) \ 1488 if ((LOG) != 0) \
1493 fprintf (STREAM, "\t.align %d\n", (1<<(LOG))) 1489 fprintf (STREAM, "\t.align %d\n", (1 << (LOG)))
1494 1490
1495 /* `ASM_OUTPUT_MAX_SKIP_ALIGN (STREAM, POWER, MAX_SKIP)` 1491 /* `ASM_OUTPUT_MAX_SKIP_ALIGN (STREAM, POWER, MAX_SKIP)`
1496 1492
1497 A C statement to output to the stdio stream STREAM an assembler 1493 A C statement to output to the stdio stream STREAM an assembler
1498 command to advance the location counter to a multiple of 2 to the 1494 command to advance the location counter to a multiple of 2 to the
1499 POWER bytes, but only if MAX_SKIP or fewer bytes are needed to 1495 POWER bytes, but only if MAX_SKIP or fewer bytes are needed to
1500 satisfy the alignment request. POWER and MAX_SKIP will be a C 1496 satisfy the alignment request. POWER and MAX_SKIP will be a C
1501 expression of type `int'. */ 1497 expression of type `int'. */
1502 #define ASM_OUTPUT_MAX_SKIP_ALIGN(STREAM,LOG,MAX_SKIP) \ 1498 #define ASM_OUTPUT_MAX_SKIP_ALIGN(STREAM,LOG,MAX_SKIP) \
1503 if ((LOG) != 0) { \ 1499 if ((LOG) != 0) { \
1504 if ((MAX_SKIP) == 0) fprintf ((STREAM), "\t.p2align %d\n", (LOG)); \ 1500 if ((MAX_SKIP) == 0 || (MAX_SKIP) >= (1 << (LOG)) - 1) \
1505 else { \ 1501 fprintf ((STREAM), "\t.p2align %d\n", (LOG)); \
1502 else \
1506 fprintf ((STREAM), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ 1503 fprintf ((STREAM), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
1507 /* Make sure that we have at least 8-byte alignment if > 8-byte \
1508 alignment is preferred. */ \
1509 if ((LOG) > 3 \
1510 && (1 << (LOG)) > ((MAX_SKIP) + 1) \
1511 && (MAX_SKIP) >= 7) \
1512 fputs ("\t.p2align 3\n", (STREAM)); \
1513 } \
1514 } 1504 }
1515 1505
1516 /* Controlling Debugging Information Format 1506 /* Controlling Debugging Information Format
1517 1507
1518 This describes how to specify debugging information. 1508 This describes how to specify debugging information.
1525 1515
1526 A C expression that returns the integer offset value for an 1516 A C expression that returns the integer offset value for an
1527 automatic variable having address X (an RTL expression). The 1517 automatic variable having address X (an RTL expression). The
1528 default computation assumes that X is based on the frame-pointer 1518 default computation assumes that X is based on the frame-pointer
1529 and gives the offset from the frame-pointer. This is required for 1519 and gives the offset from the frame-pointer. This is required for
1530 targets that produce debugging output for DBX or COFF-style 1520 targets that produce debugging output for DBX and allow the frame-pointer
1531 debugging output for SDB and allow the frame-pointer to be 1521 to be eliminated when the `-g' options is used. */
1532 eliminated when the `-g' options is used. */
1533 #define DEBUGGER_AUTO_OFFSET(X) \ 1522 #define DEBUGGER_AUTO_OFFSET(X) \
1534 (GET_CODE (X) == PLUS ? INTVAL (XEXP (X, 1)) : 0) 1523 (GET_CODE (X) == PLUS ? INTVAL (XEXP (X, 1)) : 0)
1535 1524
1536 /* Miscellaneous Parameters 1525 /* Miscellaneous Parameters
1537 1526