Mercurial > hg > CbC > CbC_gcc
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 |