Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/sh/sh.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 GNU compiler for Renesas / SuperH SH. | 1 /* Definitions of target machine for GNU compiler for Renesas / SuperH SH. |
2 Copyright (C) 1993-2017 Free Software Foundation, Inc. | 2 Copyright (C) 1993-2018 Free Software Foundation, Inc. |
3 Contributed by Steve Chamberlain (sac@cygnus.com). | 3 Contributed by Steve Chamberlain (sac@cygnus.com). |
4 Improved by Jim Wilson (wilson@cygnus.com). | 4 Improved by Jim Wilson (wilson@cygnus.com). |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
466 registers, but that is not the case on the SH; CQImode and CHImode are | 466 registers, but that is not the case on the SH; CQImode and CHImode are |
467 held in a single integer register. */ | 467 held in a single integer register. */ |
468 #define LOCAL_ALIGNMENT(TYPE, ALIGN) \ | 468 #define LOCAL_ALIGNMENT(TYPE, ALIGN) \ |
469 ((GET_MODE_CLASS (TYPE_MODE (TYPE)) == MODE_COMPLEX_INT \ | 469 ((GET_MODE_CLASS (TYPE_MODE (TYPE)) == MODE_COMPLEX_INT \ |
470 || GET_MODE_CLASS (TYPE_MODE (TYPE)) == MODE_COMPLEX_FLOAT) \ | 470 || GET_MODE_CLASS (TYPE_MODE (TYPE)) == MODE_COMPLEX_FLOAT) \ |
471 ? (unsigned) MIN (BIGGEST_ALIGNMENT, GET_MODE_BITSIZE (TYPE_MODE (TYPE))) \ | 471 ? (unsigned) MIN (BIGGEST_ALIGNMENT, \ |
472 GET_MODE_BITSIZE (as_a <fixed_size_mode> \ | |
473 (TYPE_MODE (TYPE)))) \ | |
472 : (unsigned) DATA_ALIGNMENT(TYPE, ALIGN)) | 474 : (unsigned) DATA_ALIGNMENT(TYPE, ALIGN)) |
473 | 475 |
474 /* Make arrays of chars word-aligned for the same reasons. */ | 476 /* Make arrays of chars word-aligned for the same reasons. */ |
475 #define DATA_ALIGNMENT(TYPE, ALIGN) \ | 477 #define DATA_ALIGNMENT(TYPE, ALIGN) \ |
476 (TREE_CODE (TYPE) == ARRAY_TYPE \ | 478 (TREE_CODE (TYPE) == ARRAY_TYPE \ |
1752 default: \ | 1754 default: \ |
1753 break; \ | 1755 break; \ |
1754 } | 1756 } |
1755 | 1757 |
1756 /* Output an absolute table element. */ | 1758 /* Output an absolute table element. */ |
1757 #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM,VALUE) \ | 1759 #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM,VALUE) \ |
1758 if (! optimize || TARGET_BIGTABLE) \ | 1760 do { \ |
1759 asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE)); \ | 1761 if (! optimize || TARGET_BIGTABLE) \ |
1760 else \ | 1762 asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE)); \ |
1761 asm_fprintf ((STREAM), "\t.word\t%LL%d\n", (VALUE)); | 1763 else \ |
1762 | 1764 asm_fprintf ((STREAM), "\t.word\t%LL%d\n", (VALUE)); \ |
1765 } while (0) | |
1763 | 1766 |
1764 /* A C statement to be executed just prior to the output of | 1767 /* A C statement to be executed just prior to the output of |
1765 assembler code for INSN, to modify the extracted operands so | 1768 assembler code for INSN, to modify the extracted operands so |
1766 they will be output differently. | 1769 they will be output differently. |
1767 | 1770 |