Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
fd2d9121
Commit
fd2d9121
authored
Jun 13, 2012
by
Richard Henderson
Committed by
Richard Henderson
Jun 13, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add and use HOST_WIDEST_INT_C, HOST_WIDE_INT_C.
From-SVN: r188535
parent
db8c4965
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
10 deletions
+20
-10
gcc/ChangeLog
+7
-0
gcc/config/alpha/alpha.c
+4
-7
gcc/hwint.h
+9
-3
No files found.
gcc/ChangeLog
View file @
fd2d9121
2012-06-13 Richard Henderson <rth@redhat.com>
* hwint.h (HOST_WIDEST_INT_C): New.
(HOST_WIDE_INT_C): New.
(HOST_WIDE_INT_1): Use it.
* config/alpha/alpha.c (alpha_trampoline_init): Use it.
2012-06-13 Alexandre Oliva <aoliva@redhat.com>
PR debug/49888
...
...
gcc/config/alpha/alpha.c
View file @
fd2d9121
...
...
@@ -5451,8 +5451,6 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
chain_value
=
convert_memory_address
(
Pmode
,
chain_value
);
#endif
#define HWI_HEX2(X,Y) (((HOST_WIDE_INT)0x ## X ## u << 32) | 0x ## Y ## u)
if
(
TARGET_ABI_OPEN_VMS
)
{
const
char
*
fnname
;
...
...
@@ -5471,7 +5469,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
the VMS calling standard. This is stored in the first quadword. */
word1
=
force_reg
(
DImode
,
gen_const_mem
(
DImode
,
fnaddr
));
word1
=
expand_and
(
DImode
,
word1
,
GEN_INT
(
HWI_HEX2
(
ffff0fff
,
0000
fff0
)),
NULL
);
GEN_INT
(
HOST_WIDE_INT_C
(
0xffff0fff0000fff0
)),
NULL
);
}
else
{
...
...
@@ -5482,12 +5481,10 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
nop
We don't bother setting the HINT field of the jump; the nop
is merely there for padding. */
word1
=
GEN_INT
(
H
WI_HEX2
(
a77b0010
,
a43b0018
));
word2
=
GEN_INT
(
H
WI_HEX2
(
47
ff041f
,
6
bfb0000
));
word1
=
GEN_INT
(
H
OST_WIDE_INT_C
(
0xa77b0010
a43b0018
));
word2
=
GEN_INT
(
H
OST_WIDE_INT_C
(
0x47ff041f
6bfb0000
));
}
#undef HWI_HEX2
/* Store the first two words, as computed above. */
mem
=
adjust_address
(
m_tramp
,
DImode
,
0
);
emit_move_insn
(
mem
,
word1
);
...
...
gcc/hwint.h
View file @
fd2d9121
/* HOST_WIDE_INT definitions for the GNU compiler.
Copyright (C) 1998, 2002, 2004, 2008, 2009, 2010
Copyright (C) 1998, 2002, 2004, 2008, 2009, 2010
, 2012
Free Software Foundation, Inc.
This file is part of GCC.
...
...
@@ -60,20 +60,25 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
#if HOST_BITS_PER_LONG >= 64 || !defined NEED_64BIT_HOST_WIDE_INT
# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
# define HOST_WIDE_INT long
# define HOST_WIDE_INT_C(X) X ## L
#else
# if HOST_BITS_PER_LONGLONG >= 64
# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONGLONG
# define HOST_WIDE_INT long long
# define HOST_WIDE_INT_C(X) X ## LL
# else
# if HOST_BITS_PER___INT64 >= 64
# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER___INT64
# define HOST_WIDE_INT __int64
# define HOST_WIDE_INT_C(X) X ## i64
# else
#error "Unable to find a suitable type for HOST_WIDE_INT"
# endif
# endif
#endif
#define HOST_WIDE_INT_1 HOST_WIDE_INT_C(1)
/* This is a magic identifier which allows GCC to figure out the type
of HOST_WIDE_INT for %wd specifier checks. You must issue this
typedef before using the __asm_fprintf__ format attribute. */
...
...
@@ -84,7 +89,6 @@ typedef HOST_WIDE_INT __gcc_host_wide_int__;
#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT HOST_LONG_FORMAT
# define HOST_WIDE_INT_PRINT_C "L"
# define HOST_WIDE_INT_1 1L
/* 'long' might be 32 or 64 bits, and the number of leading zeroes
must be tweaked accordingly. */
# if HOST_BITS_PER_WIDE_INT == 64
...
...
@@ -97,7 +101,6 @@ typedef HOST_WIDE_INT __gcc_host_wide_int__;
#else
# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT
# define HOST_WIDE_INT_PRINT_C "LL"
# define HOST_WIDE_INT_1 1LL
/* We can assume that 'long long' is at least 64 bits. */
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX \
"0x%" HOST_LONG_LONG_FORMAT "x%016" HOST_LONG_LONG_FORMAT "x"
...
...
@@ -122,14 +125,17 @@ typedef HOST_WIDE_INT __gcc_host_wide_int__;
# define HOST_WIDEST_INT_PRINT_UNSIGNED HOST_WIDE_INT_PRINT_UNSIGNED
# define HOST_WIDEST_INT_PRINT_HEX HOST_WIDE_INT_PRINT_HEX
# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX HOST_WIDE_INT_PRINT_DOUBLE_HEX
# define HOST_WIDEST_INT_C(X) HOST_WIDE_INT(X)
#else
# if HOST_BITS_PER_LONGLONG >= 64
# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
# define HOST_WIDEST_INT long long
# define HOST_WIDEST_INT_C(X) X ## LL
# else
# if HOST_BITS_PER___INT64 >= 64
# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER___INT64
# define HOST_WIDEST_INT __int64
# define HOST_WIDEST_INT_C(X) X ## i64
# else
#error "This line should be impossible to reach"
# endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment