]> gcc.gnu.org Git - gcc.git/commitdiff
Initial revision
authorJeff Law <law@gcc.gnu.org>
Mon, 27 Nov 1995 22:10:51 +0000 (15:10 -0700)
committerJeff Law <law@gcc.gnu.org>
Mon, 27 Nov 1995 22:10:51 +0000 (15:10 -0700)
From-SVN: r10615

gcc/config/pa/lib1funcs.asm [new file with mode: 0644]
gcc/config/pa/pa-pro.h [new file with mode: 0644]
gcc/config/pa/t-pro [new file with mode: 0644]
gcc/config/pa/xm-papro.h [new file with mode: 0644]

diff --git a/gcc/config/pa/lib1funcs.asm b/gcc/config/pa/lib1funcs.asm
new file mode 100644 (file)
index 0000000..a3e4995
--- /dev/null
@@ -0,0 +1,1138 @@
+;  Low level integer divide, multiply, remainder, etc routines for the HPPA.
+;  Copyright (C) 1995 Free Software Foundation, Inc.
+
+;  This file is part of GNU CC.
+
+;  GNU CC is free software; you can redistribute it and/or modify
+;  it under the terms of the GNU General Public License as published by
+;  the Free Software Foundation; either version 2, or (at your option)
+;  any later version.
+
+;  GNU CC is distributed in the hope that it will be useful,
+;  but WITHOUT ANY WARRANTY; without even the implied warranty of
+;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;  GNU General Public License for more details.
+
+;  You should have received a copy of the GNU General Public License
+;  along with GNU CC; see the file COPYING.  If not, write to
+;  the Free Software Foundation, 59 Temple Place - Suite 330,
+;  Boston, MA 02111-1307, USA.
+
+#ifdef L_dyncall
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .export $$dyncall
+$$dyncall
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       bb,>=,n %r22,30,L$1             ; branch if not plabel address
+       depi    0,31,2,%r22             ; clear the two least significant bits
+       ldw     4(%sr0,%r22),%r19       ; load new LTP value
+       ldw     0(%sr0,%r22),%r22       ; load address of target
+L$1    ldsid   (%sr0,%r22),%r1         ; get the "space ident" selected by r22
+       mtsp    %r1,%sr0                ; move that space identifier into sr0
+       be      0(%sr0,%r22)            ; branch to the real target
+       stw     %r2,-24(%sr0,%r30)      ; save return address into frame marker
+       .exit
+       .procend
+#endif
+
+
+#ifdef L_multiply
+#define        op0     %r26
+#define        op1     %r25
+#define res    %r29
+#define ret    %r31
+#define tmp    %r1
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$mulU
+       .export $$mulI
+$$mulU
+$$mulI
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       addi,tr         0,%r0,res       ; clear out res, skip next insn
+L$loop zdep            op1,26,27,op1   ; shift up op1 by 5
+L$lo   zdep            op0,30,5,tmp    ; extract next 5 bits and shift up
+       blr             tmp,%r0
+       extru           op0,26,27,op0   ; shift down op0 by 5
+L$0    comib,<>        0,op0,L$lo
+       zdep            op1,26,27,op1   ; shift up op1 by 5
+       bv              %r0(ret)
+       nop
+L$1    b               L$loop
+       addl            op1,res,res
+       nop
+       nop
+L$2    b               L$loop
+       sh1addl         op1,res,res
+       nop
+       nop
+L$3    sh1addl         op1,op1,tmp     ; 3x
+       b               L$loop
+       addl            tmp,res,res
+       nop
+L$4    b               L$loop
+       sh2addl         op1,res,res
+       nop
+       nop
+L$5    sh2addl         op1,op1,tmp     ; 5x
+       b               L$loop
+       addl            tmp,res,res
+       nop
+L$6    sh1addl         op1,op1,tmp     ; 3x
+       b               L$loop
+       sh1addl         tmp,res,res
+       nop
+L$7    zdep            op1,28,29,tmp   ; 8x
+       sub             tmp,op1,tmp     ; 7x
+       b               L$loop
+       addl            tmp,res,res
+L$8    b               L$loop
+       sh3addl         op1,res,res
+       nop
+       nop
+L$9    sh3addl         op1,op1,tmp     ; 9x
+       b               L$loop
+       addl            tmp,res,res
+       nop
+L$10   sh2addl         op1,op1,tmp     ; 5x
+       b               L$loop
+       sh1addl         tmp,res,res
+       nop
+L$11   sh2addl         op1,op1,tmp     ; 5x
+       sh1addl         tmp,op1,tmp     ; 11x
+       b               L$loop
+       addl            tmp,res,res
+L$12   sh1addl         op1,op1,tmp     ; 3x
+       b               L$loop
+       sh2addl         tmp,res,res
+       nop
+L$13   sh1addl         op1,op1,tmp     ; 3x
+       sh2addl         tmp,op1,tmp     ; 13x
+       b               L$loop
+       addl            tmp,res,res
+L$14   zdep            op1,28,29,tmp   ; 8x
+       sub             tmp,op1,tmp     ; 7x
+       b               L$loop
+       sh1addl         tmp,res,res
+L$15   zdep            op1,27,28,tmp   ; 16x
+       sub             tmp,op1,tmp     ; 15x
+       b               L$loop
+       addl            tmp,res,res
+L$16   zdep            op1,27,28,tmp   ; 16x
+       b               L$loop
+       addl            tmp,res,res
+       nop
+L$17   zdep            op1,27,28,tmp   ; 16x
+       addl            tmp,op1,tmp     ; 17x
+       b               L$loop
+       addl            tmp,res,res
+L$18   sh3addl         op1,op1,tmp     ; 9x
+       b               L$loop
+       sh1addl         tmp,res,res
+       nop
+L$19   sh3addl         op1,op1,tmp     ; 9x
+       sh1addl         tmp,op1,tmp     ; 19x
+       b               L$loop
+       addl            tmp,res,res
+L$20   sh2addl         op1,op1,tmp     ; 5x
+       b               L$loop
+       sh2addl         tmp,res,res
+       nop
+L$21   sh2addl         op1,op1,tmp     ; 5x
+       sh2addl         tmp,op1,tmp     ; 21x
+       b               L$loop
+       addl            tmp,res,res
+L$22   sh2addl         op1,op1,tmp     ; 5x
+       sh1addl         tmp,op1,tmp     ; 11x
+       b               L$loop
+       sh1addl         tmp,res,res
+L$23   sh1addl         op1,op1,tmp     ; 3x
+       sh3addl         tmp,res,res     ; += 8x3
+       b               L$loop
+       sub             res,op1,res     ; -= x
+L$24   sh1addl         op1,op1,tmp     ; 3x
+       b               L$loop
+       sh3addl         tmp,res,res     ; += 8x3
+       nop
+L$25   sh2addl         op1,op1,tmp     ; 5x
+       sh2addl         tmp,tmp,tmp     ; 25x
+       b               L$loop
+       addl            tmp,res,res
+L$26   sh1addl         op1,op1,tmp     ; 3x
+       sh2addl         tmp,op1,tmp     ; 13x
+       b               L$loop
+       sh1addl         tmp,res,res     ; += 2x13
+L$27   sh1addl         op1,op1,tmp     ; 3x
+       sh3addl         tmp,tmp,tmp     ; 27x
+       b               L$loop
+       addl            tmp,res,res
+L$28   zdep            op1,28,29,tmp   ; 8x
+       sub             tmp,op1,tmp     ; 7x
+       b               L$loop
+       sh2addl         tmp,res,res     ; += 4x7
+L$29   sh1addl         op1,op1,tmp     ; 3x
+       sub             res,tmp,res     ; -= 3x
+       b               L$foo
+       zdep            op1,26,27,tmp   ; 32x
+L$30   zdep            op1,27,28,tmp   ; 16x
+       sub             tmp,op1,tmp     ; 15x
+       b               L$loop
+       sh1addl         tmp,res,res     ; += 2x15
+L$31   zdep            op1,26,27,tmp   ; 32x
+       sub             tmp,op1,tmp     ; 31x
+L$foo  b               L$loop
+       addl            tmp,res,res
+       .exit
+       .procend
+#endif
+
+
+#ifdef L_divU
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define quotient %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU
+$$divU
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       comb,<          divisor,0,L$largedivisor
+        sub            %r0,divisor,%r1         ; clear cy as side-effect
+       ds              %r0,%r1,%r0
+       addc            dividend,dividend,dividend
+       ds              %r0,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,quotient
+       ds              %r1,divisor,%r1
+       bv              0(ret)
+       addc            quotient,quotient,quotient
+L$largedivisor
+       comclr,<<       dividend,divisor,quotient
+       ldi             1,quotient
+       bv,n            0(ret)
+       .exit
+       .procend
+#endif
+
+
+#ifdef L_remU
+#define dividend %r26
+#define divisor %r25
+#define quotient %r29
+#define tmp %r1
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$remU
+$$remU
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       comb,<          divisor,0,L$largedivisor
+        sub            %r0,divisor,%r1         ; clear cy as side-effect
+       ds              %r0,%r1,%r0
+       addc            dividend,dividend,dividend
+       ds              %r0,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,quotient
+       ds              %r1,divisor,%r1
+       comclr,>=       %r1,%r0,%r0
+       addl            %r1,divisor,%r1
+       bv              0(ret)
+       copy            %r1,quotient
+L$largedivisor
+       sub,>>=         dividend,divisor,quotient
+       copy            dividend,quotient
+       bv,n            0(ret)
+       .exit
+       .procend
+#endif
+
+
+#ifdef L_divI
+#define dividend %r26
+#define divisor %r25
+#define quotient %r29
+#define tmp %r1
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divI
+$$divI
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       xor             dividend,divisor,quotient       ; result sign
+       comclr,>=       divisor,%r0,%r0                 ; get absolute values
+       sub             %r0,divisor,divisor
+       comclr,>=       dividend,%r0,%r0
+       sub             %r0,dividend,dividend
+
+       comb,<          divisor,0,L$largedivisor
+        sub            %r0,divisor,%r1         ; clear cy as side-effect
+       ds              %r0,%r1,%r0
+       addc            dividend,dividend,dividend
+       ds              %r0,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       comclr,>=       %r1,%r0,%r0
+       addl            %r1,divisor,%r1
+       comclr,>=       quotient,%r0,%r0        ; skip of no need to negate
+       sub             %r0,dividend,dividend
+       bv              0(ret)
+       copy            dividend,quotient
+L$largedivisor
+       comclr,<<       dividend,divisor,quotient
+       ldi             1,quotient
+       bv,n            0(ret)
+       .exit
+       .procend
+#endif
+
+
+#ifdef L_remI
+#define dividend %r26
+#define divisor %r25
+#define quotient %r29
+#define tmp %r1
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$remI
+$$remI
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       xor             dividend,%r0,quotient           ; result sign
+       comclr,>=       divisor,%r0,%r0                 ; get absolute values
+       sub             %r0,divisor,divisor
+       comclr,>=       dividend,%r0,%r0
+       sub             %r0,dividend,dividend
+
+       comb,<          divisor,0,L$largedivisor
+        sub            %r0,divisor,%r1         ; clear cy as side-effect
+       ds              %r0,%r1,%r0
+       addc            dividend,dividend,dividend
+       ds              %r0,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       ds              %r1,divisor,%r1
+       addc            dividend,dividend,dividend
+       comclr,>=       %r1,%r0,%r0
+       addl            %r1,divisor,%r1
+       comclr,>=       quotient,%r0,%r0        ; skip of no need to negate
+       sub             %r0,%r1,%r1
+       bv              0(ret)
+       copy            %r1,quotient
+L$largedivisor
+       sub,>>=         dividend,divisor,quotient
+       copy            dividend,quotient
+       bv,n            0(ret)
+       .exit
+       .procend
+#endif
+
+
+#if defined (L_divU_3) && !defined (SMALL_LIB)
+#undef L_divU_3
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define result %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU_3
+$$divU_3
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       sh2add  %r26,%r26,%r29          ; r29 = lo(101 x r)
+       shd     %r0,%r26,30,%r1         ;  r1 = hi(100 x r)
+       addc    %r1,%r0,%r1             ;  r1 = hi(101 x r)
+; r in r1,,r29
+       zdep    %r29,27,28,%r25         ; r25 = lo(10000 x r)
+       add     %r25,%r29,%r25          ; r25 = lo(10001 x r)
+       shd     %r1,%r29,28,%r29        ; r29 = hi(10000 x r)
+       addc    %r29,%r1,%r29           ; r29 = hi(10001 x r)
+; r in r29,,r25
+       zdep    %r25,23,24,%r1          ;  r1 = lo(100000000 x r)
+       add     %r1,%r25,%r1            ;  r1 = lo(100000001 x r)
+       shd     %r29,%r25,24,%r25       ; r25 = hi(100000000 x r)
+       addc    %r25,%r29,%r25          ; r25 = hi(100000001 x r)
+; r in r25,,r1
+       zdep    %r1,15,16,%r29
+       add     %r29,%r1,%r29
+       shd     %r25,%r1,16,%r1
+       addc    %r1,%r25,%r1
+; r in r1,,r29
+       sh1add  %r29,%r26,%r0           ;  r0 = lo(10 x r) + dividend
+       shd     %r1,%r29,31,%r29        ; r29 = hi(10 x r)
+       addc    %r29,%r0,%r29
+       bv      0(ret)
+       extru   %r29,30,31,result
+       .exit
+       .procend
+#endif
+
+
+#if defined (L_divU_5) && !defined (SMALL_LIB)
+#undef L_divU_5
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define result %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU_5
+$$divU_5
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       sh1add  %r26,%r26,%r29          ; r29 = lo(11 x r)
+       shd     %r0,%r26,31,%r1         ;  r1 = hi(10 x r)
+       addc    %r1,%r0,%r1             ;  r1 = hi(11 x r)
+; r in r1,,r29
+       zdep    %r29,27,28,%r25         ; r25 = lo(10000 x r)
+       add     %r25,%r29,%r25          ; r25 = lo(10001 x r)
+       shd     %r1,%r29,28,%r29        ; r29 = hi(10000 x r)
+       addc    %r29,%r1,%r29           ; r29 = hi(10001 x r)
+; r in r29,,r25
+       zdep    %r25,23,24,%r1          ;  r1 = lo(100000000 x r)
+       add     %r1,%r25,%r1            ;  r1 = lo(100000001 x r)
+       shd     %r29,%r25,24,%r25       ; r25 = hi(100000000 x r)
+       addc    %r25,%r29,%r25          ; r25 = hi(100000001 x r)
+; r in r25,,r1
+       zdep    %r1,15,16,%r29
+       add     %r29,%r1,%r29
+       shd     %r25,%r1,16,%r1
+       addc    %r1,%r25,%r1
+; r in r1,,r29
+       sh2add  %r29,%r26,%r0           ;  r0 = lo(1000 x r) + dividend
+       shd     %r1,%r29,30,%r29        ; r29 = hi(1000 x r)
+       addc    %r29,%r0,%r29
+       bv      0(ret)
+       extru   %r29,29,30,result
+       .exit
+       .procend
+#endif
+
+
+#if defined (L_divU_6) && !defined (SMALL_LIB)
+#undef L_divU_6
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define result %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU_6
+$$divU_6
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       sh2add  %r26,%r26,%r29          ; r29 = lo(101 x r)
+       shd     %r0,%r26,30,%r1         ;  r1 = hi(100 x r)
+       addc    %r1,%r0,%r1             ;  r1 = hi(101 x r)
+; r in r1,,r29
+       zdep    %r29,27,28,%r25         ; r25 = lo(10000 x r)
+       add     %r25,%r29,%r25          ; r25 = lo(10001 x r)
+       shd     %r1,%r29,28,%r29        ; r29 = hi(10000 x r)
+       addc    %r29,%r1,%r29           ; r29 = hi(10001 x r)
+; r in r29,,r25
+       zdep    %r25,23,24,%r1          ;  r1 = lo(100000000 x r)
+       add     %r1,%r25,%r1            ;  r1 = lo(100000001 x r)
+       shd     %r29,%r25,24,%r25       ; r25 = hi(100000000 x r)
+       addc    %r25,%r29,%r25          ; r25 = hi(100000001 x r)
+; r in r25,,r1
+       zdep    %r1,15,16,%r29
+       add     %r29,%r1,%r29
+       shd     %r25,%r1,16,%r1
+       addc    %r1,%r25,%r1
+; r in r1,,r29
+       sh1add  %r29,%r26,%r0           ;  r0 = lo(10 x r) + dividend
+       shd     %r1,%r29,31,%r29        ; r29 = hi(10 x r)
+       addc    %r29,%r0,%r29
+       bv      0(ret)
+       extru   %r29,29,30,result
+       .exit
+       .procend
+#endif
+
+
+#if defined (L_divU_9) && !defined (SMALL_LIB)
+#undef L_divU_9
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define result %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU_9
+$$divU_9
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       zdep    %r26,28,29,%r29
+       sub     %r29,%r26,%r29
+       shd     0,%r26,29,%r1
+       subb    %r1,0,%r1               /* 111 */
+
+       zdep    %r29,25,26,%r25
+       add     %r25,%r29,%r25
+       shd     %r1,%r29,26,%r29
+       addc    %r29,%r1,%r29           /* 111000111 */
+
+       sh3add  %r25,%r26,%r1
+       shd     %r29,%r25,29,%r25
+       addc    %r25,0,%r25             /* 111000111001 */
+
+       zdep    %r1,16,17,%r29
+       sub     %r29,%r1,%r29
+       shd     %r25,%r1,17,%r1
+       subb    %r1,%r25,%r1            /* 111000111000111000111000111 */
+
+       sh3add  %r29,%r26,%r0
+       shd     %r1,%r29,29,%r29
+       addc    %r29,0,%r29             /* 111000111000111000111000111001 */
+       bv      0(ret)
+       extru   %r29,30,31,result
+       .exit
+       .procend
+#endif
+
+
+#if defined (L_divU_10) && !defined (SMALL_LIB)
+#undef L_divU_10
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define result %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU_10
+$$divU_10
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       sh1add  %r26,%r26,%r29          ; r29 = lo(11 x r)
+       shd     %r0,%r26,31,%r1         ;  r1 = hi(10 x r)
+       addc    %r1,%r0,%r1             ;  r1 = hi(11 x r)
+; r in r1,,r29
+       zdep    %r29,27,28,%r25         ; r25 = lo(10000 x r)
+       add     %r25,%r29,%r25          ; r25 = lo(10001 x r)
+       shd     %r1,%r29,28,%r29        ; r29 = hi(10000 x r)
+       addc    %r29,%r1,%r29           ; r29 = hi(10001 x r)
+; r in r29,,r25
+       zdep    %r25,23,24,%r1          ;  r1 = lo(100000000 x r)
+       add     %r1,%r25,%r1            ;  r1 = lo(100000001 x r)
+       shd     %r29,%r25,24,%r25       ; r25 = hi(100000000 x r)
+       addc    %r25,%r29,%r25          ; r25 = hi(100000001 x r)
+; r in r25,,r1
+       zdep    %r1,15,16,%r29
+       add     %r29,%r1,%r29
+       shd     %r25,%r1,16,%r1
+       addc    %r1,%r25,%r1
+; r in r1,,r29
+       sh2add  %r29,%r26,%r0           ;  r0 = lo(1000 x r) + dividend
+       shd     %r1,%r29,30,%r29        ; r29 = hi(1000 x r)
+       addc    %r29,%r0,%r29
+       bv      0(ret)
+       extru   %r29,28,29,result
+       .exit
+       .procend
+#endif
+
+
+#if defined (L_divU_12) && !defined (SMALL_LIB)
+#undef L_divU_12
+#define dividend %r26
+#define divisor %r25
+#define tmp %r1
+#define result %r29
+#define ret %r31
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align 4
+       .export $$divU_12
+$$divU_12
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       sh2add  %r26,%r26,%r29          ; r29 = lo(101 x r)
+       shd     %r0,%r26,30,%r1         ;  r1 = hi(100 x r)
+       addc    %r1,%r0,%r1             ;  r1 = hi(101 x r)
+; r in r1,,r29
+       zdep    %r29,27,28,%r25         ; r25 = lo(10000 x r)
+       add     %r25,%r29,%r25          ; r25 = lo(10001 x r)
+       shd     %r1,%r29,28,%r29        ; r29 = hi(10000 x r)
+       addc    %r29,%r1,%r29           ; r29 = hi(10001 x r)
+; r in r29,,r25
+       zdep    %r25,23,24,%r1          ;  r1 = lo(100000000 x r)
+       add     %r1,%r25,%r1            ;  r1 = lo(100000001 x r)
+       shd     %r29,%r25,24,%r25       ; r25 = hi(100000000 x r)
+       addc    %r25,%r29,%r25          ; r25 = hi(100000001 x r)
+; r in r25,,r1
+       zdep    %r1,15,16,%r29
+       add     %r29,%r1,%r29
+       shd     %r25,%r1,16,%r1
+       addc    %r1,%r25,%r1
+; r in r1,,r29
+       sh1add  %r29,%r26,%r0           ;  r0 = lo(10 x r) + dividend
+       shd     %r1,%r29,31,%r29        ; r29 = hi(10 x r)
+       addc    %r29,%r0,%r29
+       bv      0(ret)
+       extru   %r29,28,29,result
+       .exit
+       .procend
+#endif
+
+
+#ifdef L_divU_3
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_3
+$$divU_3
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             3,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_5
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_5
+$$divU_5
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             5,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_6
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_6
+$$divU_6
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             6,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_7
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_7
+$$divU_7
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             7,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_9
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_9
+$$divU_9
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             9,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_10
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_10
+$$divU_10
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             10,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_12
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_12
+$$divU_12
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             12,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_14
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_14
+$$divU_14
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             14,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divU_15
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divU_15
+$$divU_15
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divU
+       ldi             15,%r25
+       .exit
+       .procend
+       .import         $$divU,MILLICODE
+#endif
+
+#ifdef L_divI_3
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_3
+$$divI_3
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             3,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_5
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_5
+$$divI_5
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             5,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_6
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_6
+$$divI_6
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             6,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_7
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_7
+$$divI_7
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             7,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_9
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_9
+$$divI_9
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             9,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_10
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_10
+$$divI_10
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             10,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_12
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_12
+$$divI_12
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             12,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_14
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_14
+$$divI_14
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             14,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
+
+#ifdef L_divI_15
+       .space  $TEXT$
+       .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8
+       .align  4
+       .export $$divI_15
+$$divI_15
+       .proc
+       .callinfo       frame=0,no_calls
+       .entry
+       b               $$divI
+       ldi             15,%r25
+       .exit
+       .procend
+       .import         $$divI,MILLICODE
+#endif
diff --git a/gcc/config/pa/pa-pro.h b/gcc/config/pa/pa-pro.h
new file mode 100644 (file)
index 0000000..e618cbf
--- /dev/null
@@ -0,0 +1,105 @@
+/* Definitions of target machine for GNU compiler, for PRO.
+   Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef TARGET_DEFAULT
+/* JUMP_IN_DELAY + PORTABLE_RUNTIME + GAS + NO_SPAEC_REGS */
+#define TARGET_DEFAULT (4 + 8 + 64 + 128)
+#endif
+
+/* Global constructor and destructor support.  */
+/* Define the pseudo-ops used to switch to the .ctors and .dtors sections.
+   Note that we want to give these sections the SHF_WRITE attribute
+   because these sections will actually contain data (i.e. tables of
+   addresses of functions in the current root executable or shared library
+   file) and, in the case of a shared library, the relocatable addresses
+   will have to be properly resolved/relocated (and then written into) by
+   the dynamic linker when it actually attaches the given shared library
+   to the executing process.  */
+#define CTORS_SECTION_ASM_OP    "\t.section\t\".ctors\",#alloc,#write"
+#define DTORS_SECTION_ASM_OP    "\t.section\t\".dtors\",#alloc,#write"
+
+#define CTORS_SECTION_FUNCTION                                         \
+void                                                                   \
+ctors_section ()                                                       \
+{                                                                      \
+  if (in_section != in_ctors)                                          \
+    {                                                                  \
+      fprintf (asm_out_file, "%s\n", CTORS_SECTION_ASM_OP);            \
+      in_section = in_ctors;                                           \
+    }                                                                  \
+}
+
+#define DTORS_SECTION_FUNCTION                                         \
+void                                                                   \
+dtors_section ()                                                       \
+{                                                                      \
+  if (in_section != in_dtors)                                          \
+    {                                                                  \
+      fprintf (asm_out_file, "%s\n", DTORS_SECTION_ASM_OP);            \
+      in_section = in_dtors;                                           \
+    }                                                                  \
+}
+
+
+/* A C statement (sans semicolon) to output an element in the table of
+   global destructors.  */
+#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME)                                       \
+  do {                                                                 \
+    dtors_section ();                                                  \
+    fprintf (FILE, "\t.word\t ");                              \
+    assemble_name (FILE, NAME);                                        \
+    fprintf (FILE, "\n");                                              \
+  } while (0)
+
+/* A C statement (sans semicolon) to output an element in the table of
+   global constructors.  */
+#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME)                              \
+  do {                                                                 \
+    ctors_section ();                                                  \
+    fprintf (FILE, "\t.word\t ");                              \
+    assemble_name (FILE, NAME);                                                \
+    fprintf (FILE, "\n");                                              \
+  } while (0)
+
+#include "pa/pa.h"
+
+/* Make GCC agree with types.h.  */
+#undef SIZE_TYPE
+#undef PTRDIFF_TYPE
+
+#define SIZE_TYPE "unsigned int"
+#define PTRDIFF_TYPE "int"
+
+/* Like the default, except no -lg.  */
+#undef LIB_SPEC
+#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}"
+
+#undef CPP_PREDEFINES
+#define CPP_PREDEFINES "-Dhppa -DPWB -Acpu(hppa) -Amachine(hppa)"
+
+/* hpux8 and later have C++ compatable include files, so do not
+   pretend they are `extern "C"'.  */
+#define NO_IMPLICIT_EXTERN_C
+
+/* We don't want a crt0.o to get linked in automatically, we want the
+   linker script to pull it in.
+ */
+#define STARTFILE_SPEC ""
diff --git a/gcc/config/pa/t-pro b/gcc/config/pa/t-pro
new file mode 100644 (file)
index 0000000..5541e4b
--- /dev/null
@@ -0,0 +1,30 @@
+LIBGCC1=libgcc1.null
+CROSS_LIBGCC1 = libgcc1.null
+LIB1ASMSRC =
+LIB1ASMFUNCS =
+
+LIBGCC1_TEST =
+
+ADA_CFLAGS=-mdisable-indexing
+
+LIB2FUNCS_EXTRA=fp-bit.c dp-bit.c lib2funcs.asm
+
+dp-bit.c: $(srcdir)/config/fp-bit.c
+       cat $(srcdir)/config/fp-bit.c >> dp-bit.c
+
+fp-bit.c: $(srcdir)/config/fp-bit.c
+       echo '#define FLOAT' > fp-bit.c
+       cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+
+lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
+       rm -f lib2funcs.asm
+       cp $(srcdir)/config/pa/lib2funcs.asm .
+
+# Build the libraries for both hard and soft floating point
+
+MULTILIB_OPTIONS=msoft-float
+MULTILIB_DIRNAMES=soft-float
+MULTILIB_MATCHES=
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/pa/xm-papro.h b/gcc/config/pa/xm-papro.h
new file mode 100644 (file)
index 0000000..66ec811
--- /dev/null
@@ -0,0 +1,61 @@
+/* Configuration for GNU C-compiler for PA-RISC.
+   Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+   Contributed by Michael Tiemann (tiemann@cygnus.com).
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+extern int errno;
+
+/* #defines that need visibility everywhere.  */
+#define FALSE 0
+#define TRUE 1
+
+/* This describes the machine the compiler is hosted on.  */
+#define HOST_BITS_PER_CHAR 8
+#define HOST_BITS_PER_SHORT 16
+#define HOST_BITS_PER_INT 32
+#define HOST_BITS_PER_LONG 32
+#define HOST_BITS_PER_LONGLONG 64
+
+/* Doubles are stored in memory with the high order word first.  This
+   matters when cross-compiling.  */
+#define HOST_WORDS_BIG_ENDIAN 1
+
+/* Place any machine-dependent include files here, in case we
+   are bootstrapping.  */
+
+/* target machine dependencies.
+   tm.h is a symbolic link to the actual target specific file.   */
+#include "tm.h"
+
+/* Arguments to use with `exit'.  */
+#define SUCCESS_EXIT_CODE 0
+#define FATAL_EXIT_CODE 33
+
+/* Don't try to use sys_siglist.  */
+#define NO_SYS_SIGLIST
+
+/* We have strerror, don't try to use sys_errlist.  */
+#define HAVE_STRERROR
+
+/* HP's compiler has problems with enum bitfields.  */
+#define ONLY_INT_FIELDS
+
+/* Always claim to use C alloca; this prevents losing if building with
+   gcc -fno-builtin ... */
+#define USE_C_ALLOCA
This page took 0.091142 seconds and 5 git commands to generate.