diff options
author | Roman Lechtchinsky <rl@cs.tu-berlin.de> | 2001-09-14 16:25:26 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-09-14 09:25:26 -0700 |
commit | e91c2a245c5f8019adb23fcc1b7a2818758eaae6 (patch) | |
tree | 58e9ba9f67441fe96eb278c17f0627af6faabe3c /gcc | |
parent | 6d8b8de30f9893f4e7c4833e98055bffca5d4030 (diff) | |
download | gcc-e91c2a245c5f8019adb23fcc1b7a2818758eaae6.zip gcc-e91c2a245c5f8019adb23fcc1b7a2818758eaae6.tar.gz gcc-e91c2a245c5f8019adb23fcc1b7a2818758eaae6.tar.bz2 |
alpha.md (unaligned_extendhidi_be): Fix.
* config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
* config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
From-SVN: r45600
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.md | 6 | ||||
-rw-r--r-- | gcc/config/alpha/unicosmk.h | 8 |
3 files changed, 17 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe050c8..5855c43 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de> + + * config/alpha/alpha.md (unaligned_extendhidi_be): Fix. + * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New. + 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com> * rtlanal.c (subreg_regno_offset): Add semicolon to end of diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 9a25ef4..494a997 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -1848,8 +1848,10 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" (set (match_dup 6) (ashift:DI (match_dup 4) (ashift:DI - (and:DI (match_dup 5) (const_int 7)) - (const_int 8)))) + (and:DI + (plus:DI (match_dup 5) (const_int 1)) + (const_int 7)) + (const_int 3)))) (set (subreg:DI (match_operand:QI 0 "register_operand" "") 0) (ashiftrt:DI (match_dup 6) (const_int 48)))] "WORDS_BIG_ENDIAN" diff --git a/gcc/config/alpha/unicosmk.h b/gcc/config/alpha/unicosmk.h index 6ecc3d2..62ce020 100644 --- a/gcc/config/alpha/unicosmk.h +++ b/gcc/config/alpha/unicosmk.h @@ -648,6 +648,14 @@ ssib_section () \ #define UDIVDI3_LIBCALL "$uldiv" #define DIVDI3_LIBCALL "$sldiv" +/* This is necessary to prevent gcc from generating calls to __divsi3. */ + +#define INIT_TARGET_OPTABS \ + do { \ + sdiv_optab->handlers[(int) SImode].libfunc = NULL_RTX; \ + udiv_optab->handlers[(int) SImode].libfunc = NULL_RTX; \ + } while (0) + #undef ASM_OUTPUT_SOURCE_LINE /* We don't need a start file. */ |