summaryrefslogtreecommitdiff
path: root/lang/gcc/patches/patch-bw
blob: 382ea33941eaf9ad886546eb113d071024e848fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$NetBSD: patch-bw,v 1.2 2002/03/28 10:11:54 jmc Exp $

--- ../gcc-2.95.3/gcc/emit-rtl.c.orig 2001/04/23 11:58:12 1.1.1.2
+++ ../gcc-2.95.3/gcc/emit-rtl.c 2001/04/23 12:23:27 1.3
@@ -1382,6 +1382,15 @@
 	val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
 	return GEN_INT (val);
       }
+#if HOST_BITS_PER_WIDE_INT >= 64
+    else if (BITS_PER_WORD >= 64 && i <= 1)
+      {
+        val = k[i*2 + ! WORDS_BIG_ENDIAN];
+        val = (((val & 0xffffffff) ^ 0x80000000) - 0x80000000) << 32;
+        val |= (HOST_WIDE_INT) k[i*2 + WORDS_BIG_ENDIAN] & 0xffffffff;
+        return GEN_INT (val);
+      }
+#endif
     else
       abort ();
   }