mirror of
https://github.com/pmret/gcc-papermario.git
synced 2024-09-18 22:32:27 +02:00
64 bit support
This commit is contained in:
parent
3defc8f5a3
commit
5cfb8c61f7
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.idea/
|
0
config.sub
vendored
Normal file → Executable file
0
config.sub
vendored
Normal file → Executable file
@ -3406,7 +3406,8 @@ init_emit_once (line_numbers)
|
||||
bzero ((char *) &u, sizeof u); /* Zero any holes in a structure. */
|
||||
u.d = i == 0 ? dconst0 : i == 1 ? dconst1 : dconst2;
|
||||
|
||||
bcopy ((char *) &u, (char *) &CONST_DOUBLE_LOW (tem), sizeof u);
|
||||
bcopy ((char *) &u, (char *) &CONST_DOUBLE_LOW (tem), sizeof u / 2);
|
||||
bcopy ((char *) &u + (sizeof u / 2), (char *) &CONST_DOUBLE_HIGH (tem), sizeof u / 2);
|
||||
CONST_DOUBLE_MEM (tem) = cc0_rtx;
|
||||
PUT_MODE (tem, mode);
|
||||
|
||||
|
0
move-if-change
Normal file → Executable file
0
move-if-change
Normal file → Executable file
5
real.h
5
real.h
@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
|
||||
#ifndef REAL_H_INCLUDED
|
||||
#define REAL_H_INCLUDED
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Define codes for all the float formats that we know of. */
|
||||
#define UNKNOWN_FLOAT_FORMAT 0
|
||||
#define IEEE_FLOAT_FORMAT 1
|
||||
@ -432,7 +434,8 @@ REAL_VALUE_TYPE real_value_from_int_cst ();
|
||||
|
||||
#define REAL_VALUE_FROM_CONST_DOUBLE(to, from) \
|
||||
do { union real_extract u; \
|
||||
bcopy ((char *) &CONST_DOUBLE_LOW ((from)), (char *) &u, sizeof u); \
|
||||
bcopy ((uint8_t *) &CONST_DOUBLE_LOW ((from)), (uint8_t *) &u, (sizeof u) / 2); \
|
||||
bcopy ((uint8_t *) &CONST_DOUBLE_HIGH ((from)), ((uint8_t *) &u) + (sizeof u / 2), (sizeof u) / 2); \
|
||||
to = u.d; } while (0)
|
||||
|
||||
/* Return a CONST_DOUBLE with value R and mode M. */
|
||||
|
9
varasm.c
9
varasm.c
@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
|
||||
#include "config.h"
|
||||
#include <stdio.h>
|
||||
#include <setjmp.h>
|
||||
#include <stdint.h>
|
||||
/* #include <stab.h> */
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
@ -2265,8 +2266,9 @@ immed_real_const_1 (d, mode)
|
||||
If one is found, return it. */
|
||||
|
||||
for (r = const_double_chain; r; r = CONST_DOUBLE_CHAIN (r))
|
||||
if (! bcmp ((char *) &CONST_DOUBLE_LOW (r), (char *) &u, sizeof u)
|
||||
&& GET_MODE (r) == mode)
|
||||
if (! bcmp ((char *) &CONST_DOUBLE_LOW (r), (char *) &u, sizeof u / 2) &&
|
||||
! bcmp ((char *) &CONST_DOUBLE_HIGH (r), ((char *) &u) + (sizeof u / 2), sizeof u / 2)
|
||||
&& GET_MODE (r) == mode)
|
||||
return r;
|
||||
|
||||
/* No; make a new one and add it to the chain.
|
||||
@ -2281,7 +2283,8 @@ immed_real_const_1 (d, mode)
|
||||
rtl_in_saveable_obstack ();
|
||||
r = rtx_alloc (CONST_DOUBLE);
|
||||
PUT_MODE (r, mode);
|
||||
bcopy ((char *) &u, (char *) &CONST_DOUBLE_LOW (r), sizeof u);
|
||||
bcopy ((char *) &u, (char *) &CONST_DOUBLE_LOW (r), sizeof u / 2);
|
||||
bcopy (((char *) &u) + + (sizeof u / 2), (char *) &CONST_DOUBLE_HIGH (r), sizeof u / 2);
|
||||
pop_obstacks ();
|
||||
|
||||
/* Don't touch const_double_chain in nested function; see force_const_mem.
|
||||
|
Loading…
Reference in New Issue
Block a user