OSDN Git Service

* config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Sep 2001 16:25:26 +0000 (16:25 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Sep 2001 16:25:26 +0000 (16:25 +0000)
        * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45600 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/alpha/alpha.md
gcc/config/alpha/unicosmk.h

index fe050c8..5855c43 100644 (file)
@@ -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
index 9a25ef4..494a997 100644 (file)
@@ -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"
index 6ecc3d2..62ce020 100644 (file)
@@ -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.  */