URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc
- from Rev 151 to Rev 152
- ↔ Reverse comparison
Rev 151 → Rev 152
/trunk/gcc/gcc-4.2.2/libdecnumber/decNumber.c
300,7 → 300,45
/* Conversions */ |
/* ================================================================== */ |
|
/* The following two functions are copied from later versions, since */ |
/* they are needed by GDB which shares this library. */ |
|
/* ------------------------------------------------------------------ */ |
/* from-int32 -- conversion from Int or uInt */ |
/* */ |
/* dn is the decNumber to receive the integer */ |
/* in or uin is the integer to be converted */ |
/* returns dn */ |
/* */ |
/* No error is possible. */ |
/* ------------------------------------------------------------------ */ |
decNumber * decNumberFromInt32(decNumber *dn, Int in) { |
uInt unsig; |
if (in>=0) unsig=in; |
else { /* negative (possibly BADINT) */ |
if (in==BADINT) unsig=(uInt)1073741824*2; /* special case */ |
else unsig=-in; /* invert */ |
} |
/* in is now positive */ |
decNumberFromUInt32(dn, unsig); |
if (in<0) dn->bits=DECNEG; /* sign needed */ |
return dn; |
} /* decNumberFromInt32 */ |
|
decNumber * decNumberFromUInt32(decNumber *dn, uInt uin) { |
Unit *up; /* work pointer */ |
decNumberZero(dn); /* clean */ |
if (uin==0) return dn; /* [or decGetDigits bad call] */ |
for (up=dn->lsu; uin>0; up++) { |
*up=(Unit)(uin%(DECDPUNMAX+1)); |
uin=uin/(DECDPUNMAX+1); |
} |
dn->digits=decGetDigits(dn->lsu, up-dn->lsu); |
return dn; |
} /* decNumberFromUInt32 */ |
|
|
/* ------------------------------------------------------------------ */ |
/* to-scientific-string -- conversion to numeric string */ |
/* to-engineering-string -- conversion to numeric string */ |
/* */ |
/trunk/gcc/gcc-4.2.2/libdecnumber/ChangeLog
1,3 → 1,9
2010-06-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* decNumber.c (decNumberFromInt32, decNumberFromUInt32): Added. |
* decNumber.h Added delarations of decNumberFromInt32 and |
decNumberFromUInt32. |
|
2007-10-07 Release Manager |
|
* GCC 4.2.2 released. |
/trunk/gcc/gcc-4.2.2/libdecnumber/decNumber.h
138,6 → 138,13
#endif |
|
/* Conversions */ |
|
/* The following two functions are copied from later versions, since */ |
/* they are needed by GDB which shares this library. */ |
|
decNumber *decNumberFromInt32(decNumber *, int32_t); |
decNumber *decNumberFromUInt32(decNumber *, uint32_t); |
|
decNumber *decNumberFromString (decNumber *, const char *, decContext *); |
char *decNumberToString (const decNumber *, char *); |
char *decNumberToEngString (const decNumber *, char *); |
/trunk/gcc/gcc-4.2.2/gcc/ChangeLog
1,3 → 1,15
2010-06-30 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* config/or32/or32.h <FUNCTION_PROFILER>: Corrected definition. |
<LINK_SPEC>: Pick up newlib specific linker script. |
<ENDFILE_SPEC>: Specify newlib library. |
* config/or32/or32.h <mor32-newlib>: New option added. |
|
2010-06-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* config/or32/or32.md: Duplicate define_insn of "movdf" and "movsf" |
removed. |
|
2010-06-17 Jungsook yang <jungsook.yang@uci.edu> |
|
* config/or32/or32.c (or32_expand_branch): Added SFmode case. |
/trunk/gcc/gcc-4.2.2/gcc/config/or32/or32.md
1358,30 → 1358,6
(set_attr "length" "1")]) |
|
|
;; Moving double and single precision floating point values |
|
(define_insn "movdf" |
[(set (match_operand:DF 0 "nonimmediate_operand" "=r, r, m, r") |
(match_operand:DF 1 "general_operand" " r, m, r, i"))] |
"" |
"* |
return or32_output_move_double (operands); |
" |
[(set_attr "length" "2,2,2,3")]) |
|
|
(define_insn "movsf" |
[(set (match_operand:SF 0 "general_operand" "=r,r,m") |
(match_operand:SF 1 "general_operand" "r,m,r"))] |
"" |
"@ |
l.ori \t%0,%1,0\t # movsf |
l.lwz \t%0,%1\t # movsf |
l.sw \t%0,%1\t # movsf" |
[(set_attr "type" "move,load,store") |
(set_attr "length" "1,1,1")]) |
|
|
;; Local variables: |
;; mode:emacs-lisp |
;; comment-start: ";; " |
/trunk/gcc/gcc-4.2.2/gcc/config/or32/or32.opt
51,3 → 51,7
msibcall |
Target Mask(MASK_SIBCALL) |
Enable sibcall optimization |
|
mor32-newlib |
Target RejectNegative |
Link with the OR32 newlib library |
/trunk/gcc/gcc-4.2.2/gcc/config/or32/or32.h
35,6 → 35,12
} \ |
while (0) |
|
/* If we are using newlib, then use this version of the library */ |
#define LINK_SPEC "%{mor32-newlib:-T ldscripts/or32.ld%s}" |
|
/* Finally specify the newlib lirary */ |
#define ENDFILE_SPEC "%{mor32-newlib:libor32.a%s -lc -lgcc}" |
|
#if 0 |
|
/* Which library to get. The only difference from the default is to get |
646,8 → 652,11
/* Output assembler code to FILE to increment profiler label # LABELNO |
for profiling a function entry. */ |
|
#define FUNCTION_PROFILER(FILE, LABELNO) \ |
fprintf (FILE, "\tl.load32u\tr0,LP%d\n\tcall\tmcount\n", (LABELNO)); |
#define FUNCTION_PROFILER(FILE, LABELNO) \ |
fprintf (FILE, "\tl.movhi\tr3,hi(.LP%d)\n", (LABELNO)); \ |
fprintf (FILE, "\tl.ori\tr3,r3,lo(.LP%d)\n", (LABELNO)); \ |
fprintf (FILE, "\tl.j\tmcount\n"); \ |
fprintf (FILE, "\tl.nop\n"); |
|
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, |
the stack pointer does not matter. The value is tested only in |