summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
blob: 3b3fad515b105efde03265938e4073fd522a56ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
Sun Sep 20 00:24:24 1998  Robert Lipe  <robertl@dgii.com>

	* config/i386/sco5.h (TARGET_MEM_FUNCTIONS):  Define.

1998-09-19  Torbjorn Granlund  <tege@matematik.su.se>

	* fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
	(_fpadd_parts): Get sign right for 0.

1998-09-19  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* ginclude/varargs.h: Add support for C4x target.
	* ginclude/stdargs.h: Likewise.

Sat Sep 19 12:05:09 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.c (alpha_return_addr): SET should be VOIDmode.
	(alpha_emit_set_long_const): Rewrite to be callable from reload
	and 32-bit hosts.
	(alpha_expand_epilogue): Update for alpha_emit_set_long_const.
	* alpha.md (movdi): Likewise.

Sat Sep 19 07:33:36 1998  Richard Earnshaw (rearnsha@arm.com)

	* arm.c (add_constant): New parameter address_only, change caller.
	Set it non-zero if taking the address of an item in the pool.
	(arm_reorg): Handle cases where we need the address of an item in
	the pool.

	* arm.c (bad_signed_byte_operand): Check both arms of a sum in
	a memory address.
	* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
	memory addresses that are not in standard canonical form.

Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)

	* README.C4X: New file with information about the c4x ports.
	* ginclude/va-c4x.h: New file for c4x varargs support.
	* config/c4x: New directory with c4x port files.

Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)

	* reload.c (find_reloads): Do not replace a pseudo with 
	(MEM (reg_equiv_addr)) in the initializing insn for the
	pseudo.

Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* toplev.c (rest_of_compilation): Set bct_p on second call to
	loop_optimize.
	* loop.c (loop_optimize, scan_loop, strength_reduce): New argument
	bct_p.
	(strength_reduce): Only call analyze_loop_iterations and
	insert_bct if bct_p set.
	(check_dbra_loop): Fix typo.
	(insert_bct): Use word_mode instead of SImode.
	(instrument_loop_bct): Likewise.  Do not delete iteration count
	condition code generation insn.  Initialize iteration count before
	loop start.
	* rtl.h (loop_optimize): Update prototype.

	* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
	not doubleword aligned.

	* rs6000.c (optimization_options): New function.
	(secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
	* rs6000.h (OPTIMIZATION_OPTIONS): Define.
	(REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
	first; cr1 can be used for FP record condition insns.

Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>

	* config/m32r/m32r.h (m32r_block_immediate_operand): Add to
	PREDICATE_CODES.

	* config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
	patterns.

	* config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
	operators.
	(block_move_call): New function: Call a library routine to copy a
	block of memory.
	(m32r_expand_block_move): New function: Expand a "movstrsi"
	pattern into a sequence of insns.
	(m32r_output_block_move): New function: Expand a
	"movstrsi_internal" pattern into a sequence of assembler opcodes.
	(m32r_block_immediate_operand): New function: Return true if the
	RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
	
Thu Sep 17 16:42:16 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>

	* except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
	re-align some code.
	* libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.

Thu Sep 17 12:24:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* regmove.c (copy_src_to_dest): Check that modes match.

Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>

	* config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.

Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>

	* i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
	narrower than FLOAT_REGS.

Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
	* cccp.c: ditto
	* Makefile.in (old_gxx_include_dir): removed

Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>

	* config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
	new specification.

	* config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
	(sh_handle_pragma): Change function arguments to match new
	specification for HANDLE_PRAGMA. 

Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
	`unsigned char'.
	(main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
	When generating output, initialize missing struct member to zero.

Wed Sep 16 14:47:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* regmove.c (copy_src_to_dest): Don't copy if that requires
	(a) new register(s).

Wed Sep 16 01:29:12 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>

	* global.c (reg_allocno): Now static.
	* reload1.c (reg_allocno): Delete declaration.
	(order_regs_for_reload): Take no arguments.  Don't treat regs
	allocated by global differently than those allocated by local-alloc.

Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>

	* m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
	condition, fix format strings.
	(output_function_epilogue): Likewise.

	* m68k/m68k.c: Don't include <stdlib.h> directly.

Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>

	* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
	mem_first_set, mem_last_set; because 0 can be a CUID.
	(oprs_unchanged_p): Use new definition.
	(record_last_reg_set_info): Likewise.
	(record_last_mem_set_info): Likewise.
	(compute_hash_table): Likewise.

Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)

	* rs6000.c (output_epilogue): Handle Chill.

	* mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
	* mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.

	* combine.c (make_extraction): If no mode is specified for
	an operand of insv, extv, or extzv, default it to word_mode.
	(simplify_comparison): Similarly.
	* expmed.c (store_bit_field): Similarly.
	(extract_bit_field): Similarly.
	* function.c (fixup_var_regs_1): Similarly.
	* recog.c (validate_replace_rtx_1): Similarly.
	* mips.md (extv, extzv, insv expanders): Default modes for most
	operands.  Handle TARGET_64BIT.
	(movdi_uld, movdi_usd): New patterns.

	* pa.c (emit_move_sequence): Do not replace a pseudo with its
	equivalent memory location unless we have been provided a scratch
	register.  Similarly do not call find_replacement unless a
	scratch register has been provided.

Tue Sep 15 19:23:01 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>

        * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
        return FLOAT_REGS.

Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>

	* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
	(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
	(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
	(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
	* c-decl.c (init_decl_processing): Update accordingly.
	* expr.c (expand_builtin): Likewise.

	* rtl.h (global_rtl): Add cfa entry.
	(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
	(LAST_VIRTUAL_REGISTER): Update.
	* emit-rtl.c (global_rtl): Add cfa entry.
	(init_emit): Initialize it.
	* function.c (cfa_offset): New.
	(instantiate_virtual_regs): Initialize it.
	(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
	(expand_function_end): Call expand_eh_return.
	* tm.texi (ARG_POINTER_CFA_OFFSET): New.

	* except.c (current_function_eh_stub_label): Kill.
	(current_function_eh_old_stub_label): Likwise; update all references.
	(expand_builtin_set_return_addr_reg): Kill.
	(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
	(expand_builtin_set_eh_regs): Kill.
	(eh_regs): Produce a third reg for the actual handler address.
	(eh_return_context, eh_return_stack_adjust): New.
	(eh_return_handler, eh_return_stub_label): New.
	(init_eh_for_function): Initialize them.
	(expand_builtin_eh_return, expand_eh_return): New.
	* except.h: Update prototypes.
	* flow.c (find_basic_blocks_1): Update references to the stub label.
	* function.h (struct function): Kill stub label elements.

	* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
	register number is one that would be in the previous window.
	Provide a dummy definition for non-windowed targets.
	(get_reg_addr): New function.
	(get_reg, put_reg, copy_reg): Use it.
	(__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
	generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.

	* alpha.c (alpha_eh_epilogue_sp_ofs): New.
	(alpha_init_expanders): Initialize it.
	(alpha_expand_epilogue): Use it.
	* alpha.h: Declare it.
	* alpha.md (eh_epilogue): New.

	* m68h.h (ARG_POINTER_CFA_OFFSET): New.
	* sparc.h (ARG_POINTER_CFA_OFFSET): New.

Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>

	* i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
	flag bit mask.

Tue Sep 15 14:10:54 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>

	* except.h (struct eh_entry): Add false_label field.
	(end_catch_handler): Add prototype.
	* except.c (push_eh_entry): Set false_label field to NULL_RTX.
	(start_catch_handler): When using old style exceptions, issue
	runtime typematch code before continuing with the handler.
	(end_catch_handler): New function, generates label after handler
	if needed by older style exceptions.
	(expand_start_all_catch): No need to check for new style exceptions.
	(output_exception_table_entry): Only output the first handler label
	for old style exceptions.
	* libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
	mechanism into one function, if a runtime matcher is provided.

Tue Sep 15 13:53:59 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>

	* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.

Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>

	* integrate.c (copy_decl_list): Fix typo.

Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
	attribute.

Mon Sep 14 14:02:53 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Mon Sep 14 10:33:56 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Mon Sep 14 09:51:05 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* invoke.texi (C Dialect Options): Put back missing @end itemize.

Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* configure.in: remove usage of `!' to negate the result of a
	command; some common shells do not support it

Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* configure.in: in sparc9-sol2 config, use 'if test' not
	brackets.
	* configure: Rebuilt.

	* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
	CM_MEDANY.
	(CPP_CPU_SPEC): Do not define _LP64, header files do this.
	(CPP_CPU_DEFAULT_SPEC): Likewise.
	* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
	for arch64 libfuncs.
	
	* config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
	for operand zero.

Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.

	* collect2.c: Don't declare `sys_siglist' here.
	(my_strsignal): Prototype and define new function.  Use it in
	place of `sys_siglist' hacks.

	* mips_tfile.c:  Likewise.

	* configure.in (AC_CHECK_FUNCS): Check for strsignal.
	(GCC_NEED_DECLARATIONS): Likewise.

	* system.h (strsignal): Prototype it, if necessary.
	(sys_siglist): Declare it, if necessary.

Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* loop.c (move_movables): While removing insn sequences, preserve
	the next pointer of the most recently deleted insn when we skip
	over a NOTE.

Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>

	* objc/config-lang.in: Do not output the name of the selected
	thread file when building the front-end.  The Makefile for the
	runtime library will do this.

	* objc/Make-lang.in: Do not build the runtime library or install
	the Objective C header files.  The Makefile for the runtime
	library will do this.

	* objc/Makefile.in (all.indirect): Only build the front-end.
	(compiler): Rename to `frontend'.
	(obj-runtime): Remove target.
	(copy-headers): Likewise.
	(clean): No need to remove `libobjc.a' any longer.

Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>

	* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
	supported with -mcpu=xxx.

Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* flow.c (mark_set_1): Recognize multi-register structure return
	values in CALL insns.
	(mark_used_regs): Likewise.
	(count_reg_sets_1): Likewise.
	(count_reg_references):	Likewise.
	* rtlanal.c (note_stores): Likewise.
	(reg_overlap_mentioned_p): Likewise.
	* haifa-sched.c (check_live_1): Likewise.
	(update_live_1): Likewise.
	(sched_analyze_1): Likewise.
	(sched_note_set): Likewise.
	(birthing_insn_p): Likewise.
	(attach_deaths): Likewise.

	* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.


Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>

	* config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.

Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* glimits.h (__LONG_MAX__): Recognize __sparcv9 too.

Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>

	* configure.in: Add check for GAS subsection -1 support.
	* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
	* configure config.in: Rebuilt.
	* config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
	SImode is subsection -1 works, else use DImode.
	(ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
	subsection -1 works.
	* config/sparc/sparc.c (sparc_output_addr_vec,
	sparc_output_addr_diff_vec): Use them if defined.

Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>

	* tree.h (DECL_ORIGIN): New macro.
	* integrate.c (copy_and_set_decl_abstract_origin): New function.
	(copy_decl_list): Use it.
	(integrate_parm_decls): Likewise.
	(integrate_decl_tree): Likewise.
	* dwarf2out.c (decl_ultimate_origin): Simplify.
	* dwarfout.c (decl_ultimate_origin): Likewise.
	* c-decl.c (duplicate_decls): Use DECL_ORIGIN.
	(pushdecl): Likewise.

Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>

	* config/rs6000/rs6000.c (output_epilog): Add Java support.

Thu Sep 10 14:48:59 1998  Martin von Löwis  <loewis@informatik.hu-berlin.de>

	* invoke.texi (C++ Dialect Options): Document -fhonor-std.

Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)

	* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
	empty or has a single entry.

	* toplev.c (rest_of_compilation): Open up the dump file for reg-stack
	before calling reg_to_stack.

Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.c (alphaev5_insn_pipe): Abort on default case.
	(alphaev5_next_group): Swallow CLOBBERs and USEs.

	* c-tree.h (warn_long_long): Declare it.

Wed Sep  9 23:31:36 1998  (Stephen L Moshier) <moshier@world.std.com>

	* emit-rtl.c (gen_lowpart_common): Disable optimization of
	initialized float-int union if the value is a NaN.

Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>

	* c-lex.c (real_yylex): Don't warn about long long constants if 
	we're allowing long long

Wed Sep  9 21:58:41 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>

	* except.h (current_function_eh_stub_label): Declare.
	(current_function_eh_old_stub_label): Declare.
	* function.h (struct function): New members eh_stub_label and
	eh_old_stub_label.
	* except.c (current_function_eh_stub_label): New variable.
	(current_function_eh_old_stub_label): New variable.
	(init_eh_for_function): Clear them.
	(save_eh_status): Save them.
	(restore_eh_status): Restore them.
	(expand_builtin_eh_stub): Set current_function_eh_stub_label.
	(expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
	* flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
	make an edge from the block that contains it to the block starting
	with the label if this label is one of the eh stub labels.
	If eh stub labels exist, show they are reachable from the last block
	in the function.

	* reload1.c (reload): Break out several subroutines and make some
	variables global.
	(calculate_needs_all_insns): New function, broken out of reload.
	(calculate_needs): Likewise.
	(find_reload_regs): Likewise.
	(find_group): Likewise.
	(find_tworeg_group): Likewise.
	(something_needs_reloads): New global variable, formerly in reload.
	(something_needs_elimination): Likewise.
	(caller_save_spill_class): Likewise.
	(caller_save_group_size): Likewise.
	(max_needs): Likewise.
	(group_size): Likewise.
	(max_groups): Likewise.
	(max_nongroups): Likewise.
	(group_mode): Likewise.
	(max_needs_insn): Likewise.
	(max_groups_insn): Likewise.
	(max_nongroups_insn): Likewise.
	(failure): Likewise.

	* print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.

Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>

	* loop.c (load_mems): Copy rtx for output mem.

Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
	mips1 or mips2 either.

Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)

	* pa.c (pa_reorg): New marking scheme for jumps inside switch
	tables.
	(pa_adjust_insn_length): Update to work with new marking scheme
	for jumps inside switch tables. 
	* pa.md (switch_jump): Remove pattern.
	(jump): Handle jumps inside jump tables.

	* Makefile.in (profile.o): Depend on insn-config.h

Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>

	* iris6.h (DWARF2_UNWIND_INFO): Undef.

Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	Add preliminary native sparcv9 Solaris support.
	* configure.in: Recognize sparv9-*-solaris2*
	* configure: rebuilt
	* config.sub: Recognize sparcv9 just like sparc64.
	* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
	config/sparc/sol2-cn.asm: Macroize so it can be shared between
	32-bit and 64-bit Solaris systems.
	* config/sparc/t-sol2: Assemble those with cpp.
	* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
	(*TF*_LIBCALL): If ARCH64 use V9 names.
	* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New	files.

Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>

	* config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
	(CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
	not doing pic.
	(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
	Pmode.
	* config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
	to Pmode if CASE_VECTOR_MODE is something else.

Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)

	* prefix.c (update_path): Correctly handle cases where PATH is
	a substring of the builtin prefix, but specifies a different
	directory location.

Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>

	* expr.c: Corrected comment about what MOVE_RATIO does.
	* config/alpha/alpha.h: Ditto.
	* config/1750a/1750a.h: Ditto.
	* config/clipper/clipper.h: Ditto.
	* config/i386/i386.h: Ditto.

Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)

	* configure.in (m68k-next-nextstep3*): Use collect2.
	Similarly for x86 NeXT configurations.
	* configure: Rebuilt.

Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>

	* configure.in: Don't assume srcdir is .../gcc
	* configure: Rebuilt.

Sat Sep  5 16:34:34 EDT 1998  John Wehle  (john@feith.com)

	* global.c: Update comments.
	(global_alloc): Assign allocation-numbers
	even for registers allocated by local_alloc in case
	they are later spilled and retry_global_alloc is called.
	(mark_reg_store, mark_reg_clobber,
	mark_reg_conflicts, mark_reg_death): Always record a
	conflict with a pseudo register even if it has been
	assigned to a hard register.
	(dump_conflicts): Don't list pseudo registers already assigned to
	a hard register as needing to be allocated, but do list their
	conflicts.
	* local-alloc.c: Update comment.

Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
	* configure: Rebuilt.

Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (rs6000_override_options): Fix name for ec603e, to add
	missing 'c'.
	* t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
	for all targets that set -msoft-float.

Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* toplev.c (print_switch_values): Make static to match prototype.

Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)

	* configure.in: If we are unable to find the "gnatbind" program,
	then do not configure the ada subdir.
	* configure: Rebuilt.

Sun Sep 6 14:03:58 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Sun Sep 6 13:28:07 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (toplev.o): Depend on $(EXPR_H).
	(insn-extract.o, insn-attrtab.o): Depend on toplev.h.

	* gansidecl.h: Define ATTRIBUTE_NORETURN.

	* genattrtab.c: Have insn-attrtab.c include toplev.h.

	* genextract.c: Have insn-extract.c include toplev.h.

	* rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.

	* toplev.c: Include expr.h.
  	(really_sorry, fancy_abort): Remove prototypes.
	(set_target_switch): Add argument in prototype.
	(vfatal): Mark prototype with ATTRIBUTE_NORETURN.
	(v_really_sorry): Likewise.
	(print_version, print_single_switch, print_switch_values): Make
	static and add prototype arguments.
	(decl_printable_name): Add prototype arguments.
	(lang_expand_expr_t): New typedef.
	(lang_expand_expr): Declare as a lang_expand_expr_t.
	(incomplete_decl_finalize_hook): Add prototype argument.
	(decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
	(botch): Likewise for variable `s'.
	(rest_of_type_compilation): Mark variables `type' and `toplev'
	with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
	XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
	(display_help): Make variable `i' an `unsigned long'.
	(main): Remove unused parameter `envp'.
	Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
	Cast -1 when comparing it with a `size_t'.

	* toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
	prototype with ATTRIBUTE_NORETURN.
	(fatal_insn_not_found, fatal_insn, really_sorry,
	push_float_handler, pop_float_handler): Add prototypes.
	(fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
	(do_abort, botch): Add prototypes.
	
Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>

	* final.c (final): If a label is reached only from a single jump,
	call NOTICE_UPDATE_CC on the jump and its predecessor before
	emitting the insn after the label.
	
	* i386.h: Add AMD K6 support.
	Change TARGET_* macros to use table lookup.
	(INITIALIZE_TRAMPOLINE): Improve trampoline code.
	(ADJUST_COST): Change definition to call function in i386.c.
	(ISSUE_RATE): Define as 2 for anything newer than an 80486.
	* i386.c: Add AMD K6 support.
	Add constants for feature tests used by TARGET_* macros.
	(split_di): If before reload, call gen_lowpart and gen_highpart.
	(x86_adjust_cost): New function.
	(put_jump_code): New function.
	(print_operand): New codes 'D' and 'd'.
	* i386.md: New insn types.  New insn attribute "memory".
	Redefine scheduling parameters to use new types and add AMD K6
	support.  Explicitly set type of most insns.
	(move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
	Pro and K6 prefer movl $1,reg to incl reg.
	(adddi3, subdi3): Set cc_status.
	(DImode shift patterns): Change label counters from HOST_WIDE_INT
	to int; x86 can't have more than 2^31 DImode shifts per	file.
	(setcc): Combine all setcc patterns.  Allow writing memory.
	Combine all jump patterns using match_operator.
	(*bzero): Name pattern.  Emit mutliple stos instructions when that
	is faster than rep stos.
	(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
	add define_split.

Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>

	* config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
	linking.

Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
	not whatever we're generating now.

	* alpha.c (set_frame_related_p, FRP): New.
	(alpha_expand_prologue): Mark frame related insns.
	(alpha_expand_epilogue): Likewise, but with a null FRP.
	* alpha.h (INCOMING_RETURN_ADDR_RTX): New.
	* alpha.md (exception_receiver): New.
	* alpha/crtbegin.asm (.eh_frame): New beginning.
	(__do_frame_setup, __do_frame_takedown): New.
	* alpha/crtend.asm (.eh_frame): New ending.
	* alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
	(ASM_SPEC): Don't emit both dwarf2 and mdebug.
	(ASM_FILE_START): Don't emit .file for dwarf2.

	* rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
	* rtl.c (reg_note_name): Likewise.
	* rtl.texi (REG_NOTES): Likewise.
	* dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
	without an offset.

Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>

	* i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
	* i386.md (movsf, movdf, movxf): Validate memory address returned
	from force_const_mem.  Kill useless REG_EQUAL setting code.

Sat Sep  5 14:23:31 1998  Torbjorn Granlund <tege@matematik.su.se>

	* m68k.md (zero_extendsidi2): Fix typo.

Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>

	* configure.in: Removed references to the removed file
	* config/xm-netbsd.h. Use ${cpu_type}/xm-netbsd.h for
	* arm*-*-netbsd* and ns32k-*-netbsd*.
	* config/i386/xm-netbsd.h: Removed unnecessary file.
	* config/m68k/xm-netbsd.h: Likewise.
	* config/sparc/xm-netbsd.h: Likewise.
	* config/mips/xm-netbsd.h: Likewise.

Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>

	* i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
	(PCC_BITFIELD_TYPE_MATTERS): Define to be 0.

	* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
	for exact section attributions.

	* i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
	runtime.
	* i386/crtdll.h (CPP_PREDEFINES): Define.

Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)

	* m68k.md (5200 movqi): Do not allow byte sized memory references
	using address regs.
	* m68k.c (output_move_qimode): Do not use byte sized operations on
	address registers.

        * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
	explicit rules for building.  Similarly for alloca, vfprintf,
	choose-temp and mkstemp, getopt, getopt1, and obstack.
	(INCLUDES): Add $(srcdir)/../include.
        * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
	* getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.

Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>

	* gcc.c (do_spec_1): [case 'o'] Account for
	lang_specific_extra_outfiles.
	(main): Correctly clear all slots in outfiles for
	lang_specific_extra_outfiles.  Set input_file_number before
	calling lang_specific_pre_link.

Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>

	* loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.

Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (output_double_int): In all V9 symbolic
	cases, use xword.
	(sparc_output_deferred_case_vectors): If no work to do, return.
	Fix thinko in Sept 1 change.

1998-09-03  SL Baur  <steve@altair.xemacs.org>

	* Makefile.in: add semicolon in BISON definition for portability.

Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>

	* config/nextstep.c (handle_pragma): Correct name of third
	argument.

Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>

	* config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
	* config/m32r/m32r.h: Make register 17 be fixed.
	* config/m32r/m32r.c: Use SImode for cc operations.

Thu Sep  3 18:17:34 1998 Benjamin Kosnik  <bkoz@cygnus.com>

	* invoke.texi (Warning Options): Add -Wnon-template-friend
 	documentation.

Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.

Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (movsf): Disable explicit secondary-reload-like
	functionality if TARGET_POWERPC64.
	(movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
	functionality.

Thu Sep  3 11:41:40 1998  Robert Lipe   <robertl@dgii.com>

	* fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
	and term.h from fixinc.wrap.

Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
 	safe to include both string.h and strings.h together.
  	(GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
 	which headers to search for function declarations.  Continue to
 	prefer string.h over strings.h when both are not acceptable.

	* acconfig.h (STRING_WITH_STRINGS): Add stub.

	* configure.in: Call GCC_HEADER_STRING.

	* system.h: Test STRING_WITH_STRINGS when deciding which headers
 	to include.  Continue to prefer string.h over strings.h when both
 	are not acceptable.

Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
	not assume top 32-bits of symbolic addresses are zero if
	flag_pic.

Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>

	* ginclude/va-alpha.h: Protect entire second portion of the
	file against double inclusion.

Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>

	Added support for the Boehm's garbage collector.
	* configure.in: Handle --enable-objc-gc.
	* configure: Rebuilt.
	* Makefile.in (CHECK_TARGETS): Add check-objc.
	(check-objc): New rule.
	* objc/Make-lang.in: Build a different Objective-C library that
 	runs with the Boehm's collector.
	* objc/encoding.c (objc_round_acc_size_for_types): New function.
	* objc/encoding.c: Correctly compute the size of compound types in
 	the presence of bitfields. Skip the variable name of the type if
 	any. Added support for long long.
	* objc/encoding.h (_C_GCINVISIBLE): New specifier.
	(_F_GCINVISIBLE): New mask.
	* objc/gc.c: New file. Compute the type memory mask associated with
	a class based on the runtime information.
	* objc/misc.c: Added the hooks that use the Boehm's collector
 	allocation functions.
	* objc/objc-act.c (build_class_template): Generate a new class
 	member (gc_object_type) to hold the class' type memory mask.
	(build_shared_structure_initializer): Initialize the new member to
	NULL.
	(encode_complete_bitfield): New function. Generate the new
 	encoding.
	(encode_field_decl): Generate the new encoding only for the GNU
	runtime.
	* objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
	long long types.
	(class_get_gc_object_type): New function to mark a pointer instance
	variable as a weak pointer.
	* objc/objc-features.texi: New file.
	* objc/objc.h (gc_object_type): New class member.
	* objc/objects.c (class_create_instance): Create a typed memory
 	object when compiled with Boehm's collector support.
	* objc/sendmsg.c (__objc_init_install_dtable): Call
 	__objc_send_initialize instead of setting the initialize flag.
	(__objc_send_initialize): Call __objc_generate_gc_type_description
 	to generate the class type memory mask. Rewrite the code that
 	sends the +initialize so that it is called only once (bug report
 	and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
	* testsuite/objc: New testsuite for Objective-C type encoding.
	* testsuite/lib/objc-torture.exp: New file.
	* testsuite/lib/objc.exp: New file.

Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>

	* jump.c (jump_optimize): In if/then/else transformations, add
	another call to modified_between_p for the jump insn.

Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)

	* fix-header.c (symlink): Treat like readlink.

Wed Sep  2 19:30:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
	as FT_float.

Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>

	* config/nextstep.h:    Update HANDLE_PRAGMA macro.
	* config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
	* config/i960/i960.h:   Update HANDLE_PRAGMA macro.
	
	* config/nextstep.c (handle_pragma): Take three arguments, as per
	the new HANDLE_PRAGMA macro specification.
	* config/h8300/h8300.c (handle_pragma): Take three arguments, as
	per the new HANDLE_PRAGMA macro specification.
	* config/i960/i960.c (process_pragma): Take three arguments, as
	per the new HANDLE_PRAGMA macro specification.

Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>

	* c-lex.c (check_newline):  Call HANDLE_PRAGMA before
	HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
	if unknown pragmas are encountered.
	(handle_sysv_pragma): Interpret return code from
	handle_pragma_token ().  Return success/failure indication rather
	than next unprocessed character. 
	(pragma_getc): New function: retrieves characters from the
	input stream.  Defined when HANDLE_PRAGMA is enabled.
	(pragma_ungetc): New function: replaces characters back into the
	input stream.  Defined when HANDLE_PRAGMA is enabled.
	
	* c-pragma.c (handle_pragma_token): Return success/failure status
	of the parse.
	
	* c-pragma.h: Change prototype of handle_pragma_token().

	* varasm.c: (handle_pragma_weak): Only create this function if
	HANDLE_PRAGMA_WEAK is defined.

	* c-common,c (decl_attributes): If defined call the expression
	contained within the INSERT_ATTRIBUTES macro before adding
	attributes to a decl.

	* tm.texi (HANDLE_PRAGMA): Document the new verion of
	HANDLE_PRAGMA, which takes three arguments.
	(INSERT_ATTRIBUTES): Document this new macro.  

	* LANGUAGES: Document the new version of HANDLE_PRAGMA and the
	new INSERT_ATTRIBUTES macro.

Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (movdf): Only generate special RTL for
	LABEL_REFs when PIC.
	(move_label_di): Remove
	(movdi_pic_label_ref, movdi_high_pic_label_ref,
	movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
	references when PIC.
	* config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
	ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
	output an .xword for all 64-bit cases.
	
Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (finalize_pic): Don't output arbitrary
	alignment, use FUNCTION_BOUNDARY instead.
	(sparc_output_deferred_case_vectors): Likewise.

Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (movsf_const_intreg): Kill warning.
	(movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.

Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>

	* alpha/va_list.h: New file.
	* alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.

Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)

	* NEWS: Add SCO Openserver and Unixware 7 notes.

	* NEWS: Fix typos.

Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>

	* varasm.c (compare_constant_1): Handle RANGE_EXPR.
	(record_constant_1): Handle RANGE_EXPR.

Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>

	* print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
	* haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
	and NOTE_INSN_RANGE_END specially.
	(reemit_notes): Likewise.

Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
	(ultrasparc_sched_init): Remove unneeded &.

Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
	for m68020-60, to prevent the use of fintrz.

Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>

	* configure.in: If the native compiler is GCC use $(WARN_CFLAGS) 
	even in stage1. 
	* Makefile.in: Likewise.
	* configure: Regenerated.

Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)

	* configure.in (gxx_include_dir): Changed to
	'${prefix}/include/g++'-${libstdcxx_interface}.
	* configure: Rebuilt.

Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>

	* expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
	consistent.
	* tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
	*sequences* *below* which scalar moves will be used.

Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)

	* collect2.c (mktemp): Delete unused declaration.

	* config/xm-netbsd.h: Remove unnecessary file.
	* config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
	file anymore, it is not needed.

Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>

	* convert.c (convert_to_integer): Issue an error on conversions to
	incomplete types.

Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>

	* Makefile.in: Add lang_tree_files and gencheck.h.
	* configure.in: Generate them.
	* gencheck.c: Include gencheck.h.

Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
	movdi_lo_sum_pic and movdi_high_pic and make visible.
	* config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
	emit these when Pmode is not SImode.
	* config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.

Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>

	* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
	.linkonce directive after the first time.

Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)

        * m68k.md (beq0_di): Generate correct (and more efficient) code when
        the clobbered operand overlaps with an input.
        (bne0_di): Similarly.

	* Makefile.in (INSTALL): Remove "--no-header" argument.

        * NEWS: Various updates.

Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (arith_operand, const64_operand,
	const64_high_operand, arith_double_4096_operand): Mark mode as
	unused.
	(create_simple_focus_bits): Remove unused arg highest_bit_set, all
	callers changed.
	(sparc_emit_set_const64): Remove unused variable i.
	(sparc_splitdi_legitimate): Likewise for addr_part.
	(ultra_code_from_mask): Likewise for mask.
	(ultra_cmove_results_ready_p): Fixup entry modulo calc. and
	reverse return values so it matches usage and comments.
	(ultra_flush_pipeline): Likewise.
	(ultra_fpmode_conflict_exists): Likewise, remove unused variable
	this_type, and allow loads and stores of differing FP modes as
	they do not create a conflict.
	(ultra_find_type): Initialize fpmode to SFmode, fix
	parenthesization thinkos in large conditional.
	(ultrasparc_sched_init): Mark dump and sched_verbose as unused.
	Init free_slot_mask after ultra_cur_hist is reset, not before.
	(ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
	(ultrasparc_sched_reorder): Don't bzero current pipeline state,
	use ultra_flush_pipeline instead, then re-init group pointer.
	Fix statement with no effect.  If no progress made in, and no
	instructions scheduled at all, advance to new pipeline cycle else
	we get into an endless loop.
	(ultrasparc_adjust_cost): Remove previous arg.
	* config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
	
Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>

	* sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
	code.  Use reg_overlap_mentioned_p to detect when source and
	destination overlap.
	(negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.

1998-08-28  Brendan Kehoe  <brendan@cygnus.com>

	* loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
	COMPARISON_VAL, into invariant_p.

Fri Aug 28 15:13:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

        * regmove.c (regclass_compatible_p): New function.
        (regmove_optimize): Use it.

        Use NREGS parameter insted of calling max_reg_num.

        (fixup_match_1): Don't use code = MINUS when later tieing with
        a hard register is likely.

Fri Aug 28 14:54:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
	COMPARISON_VAL was normalized.

Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)

	* loop.c (check_dbra_loop): The loop ending comparison value
	must be an invariant or we can not reverse the loop.

	* loop.c (scan_loop): Count down from max_reg_num - 1 to
	FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
	of the loop.
	(load_mems_and_recount_loop_regs_set): Likewise.

	* i386.c (print_operand): Remove obsolete 'c' docs.

Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>

	* gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
	* frame.c (init_object_mutex): New function.
	(init_object_mutex_once): Likewise.
	(find_fde): Call it.
	(__register_frame_info): Likewise.
	(__register_frame_info_table): Likewise.
	(__deregister_frame_info): Likewise.

Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)

	* haifa-sched.c (sched_analyze_insn): Fix thinko in last change.

Thu Aug 27 16:34:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* loop.c (check_dbra_loop): Enable code for reversal
	of some loops without a known constant loop end.

Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>

        * haifa-sched.c (last_clock_var): New.
        (schedule_block): Initialize it.
        (schedule_insn): Use it to fill insn modes with issue information.

	* alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
	Tag trapb and next insn with TImode.
	(alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
	(alpha_reorg): Add conditional for alpha_handle_trap_shadows.
	Invoke alphaev5_align_insns as appropriate.
	* alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
	(MD_SCHED_VARIABLE_ISSUE): New.
	* alpha.md (attr type): Add multi.
	(define_asm_attributes): New.
	(prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
	(arg_home): Likewise.
	(fnop, unop, realign): New.

Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>

	* iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
	* iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.

	* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
	(rs6000-ibm-aix4.[12]*): Likewise.
	* configure: Regnerate.

Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
	already contains the return address.

Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)

	* calls.c (expand_call): Use bitfield instructions to extract/deposit
	word sized hunks when loading unaligned args into registers.

	* haifa-sched.c (sched_analyze_insn): Only create scheduling
	barriers for LOOP, EH and SETJMP notes on the loop_notes list.

	* mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.

Wed Aug 26 16:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* loop.c (check_dbra_loop): Add some code that would allow reversal
	of some loops without a known constant loop end if it were enabled.

Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips.md (lshrsi3_internal2+2): Fix type-o.

Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h: Include stdarg.h/varargs.h, make sure they are ordered
 	correctly with regards to stdio.h.
	
	* calls.c: Remove stdarg.h/varargs.h.
	* cccp.c: Likewise.
	* cexp.y: Likewise.
	* combine.c: Likewise.
	* cpperror.c: Likewise.
	* cpplib.c: Likewise.
	* cpplib.h: Likewise.
	* doprint.c: Likewise.
	* emit-rtl.c: Likewise.
	* final.c: Likewise.
	* fix-header.c: Likewise.
	* gcc.c: Likewise.
	* genattr.c: Likewise.
	* genattrtab.c: Likewise.
	* gencodes.c: Likewise.
	* genconfig.c: Likewise.
	* genemit.c: Likewise.
	* genextract.c: Likewise.
	* genflags.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c: Likewise.
	* genpeep.c: Likewise.
	* genrecog.c: Likewise.
	* mips-tfile.c: Likewise.
	* prefix.c: Likewise.
	* protoize.c: Likewise.
	* regmove.c: Likewise.
	* toplev.c: Likewise.
	* tree.c: Likewise.

Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>

	* config/sparc/sparc.c (sparc_override_options): If not
	TARGET_FPU, turn off TARGET_VIS.
	* config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
	(LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
	* config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
	(movdi_insn_sp64): Add VIS fzero alternative.
	(clear_sf, clear_df): New VIS patterns.
	(movsf, movdf expanders): Allow fp_zero_operand flat out when
	TARGET_VIS.
	(one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
	
Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>

	* loop.c (n_times_set, n_times_used, may_not_optimize,
	reg_single_usage): Convert to varrays.  All uses changed.
	(insert_loop_mem): Return a value.
	(scan_loop): Tweak AVOID_CC_MODE_COPIES code.
	(load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
	necessary.

Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)

	* From Alexandre:
	* configure.in: Do not set thread_file to "irix" since no such
	support exists yet.

	* sparc.md (float abs/neg splits): Check reload_completed before
	calling alter_subreg.

Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
	function.
	* config/sparc/sparc.h: Declare it.
	* config/sparc/sparc.md (float abs/neg splits): Use it.
	(all other splits): Handle SUBREGs properly where necessary.
	(unnamed (1<<x)-1 V8PLUS pattern): Disable for now.

Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)

	* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
	an insn on the unfilled_slots_list that has no delay slots.
	(fill_eager_delay_slots): Similarly.

Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>

	* config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
	as an ordinary operand.

Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* tree.c (valid_machine_attribute): Don't apply attributes to both
	decl and type.

Tue Aug 25 12:23:20 PDT 1998  Richard Henderson  <rth@cygnus.com>

        * reload.c (operands_match_p): Handle rtvecs.

        * i386.c (legitimate_pic_address_disp_p): New.
        (legitimate_address_p): Use it.
        (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
        Handle constant pool symbols just like statics.
        (emit_pic_move): Use Pmode not SImode for clarity.
        (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
        [UNSPEC]: New, handling what we killed above.
        [PLUS]: Detect and abort on invalid symbol arithmetic.
        * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.

Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>

	* alias.c: Include output.h.
	(DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
	different if we're in a varargs function.
	* Makefile.in (alias.o): Depend on output.h
	
Tue Aug 25 19:20:12 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* sh.h (GIV_SORT_CRITERION): Delete.

Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>

	* regclass.c (regclass): Use xmalloc/free instead of alloca.
	* stupid.c (stupid_life_analysis): Ditto.
	* reload1.c (reload): Ditto.

Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>

	* config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
	arith_double_4096_operand, arith_double_add_operand): New
	predicates.
	* config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
	* config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
	them to transform add/sub 4096 into add/sub -4096.

Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* loop.c (scan_loop): Allocate some slop to handle pseudos
	generated by move_movables.
	(load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
	here too.

Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>

	* tree.def (DECL_RESULT): Correct documentation.

Tue Aug 25 01:15:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
	all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
	conflicts will all RELOAD_FOR_OUTPUT reloads.

	* reload1.c (reload_cse_regs_1): When deleting a no-op move that
	loads the function result, substitute with a USE.

Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
	when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
	(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
	* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
	(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
	* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
	operand. 
	(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
	'o' to 'm' for GPR variant constraints.

Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)

        * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.

	* h8300.h (STRIP_NAME_ENCODING): Fix typo.

	* sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
	when the source and destination overlap.

	* stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
	clash with global type.

Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* fixinc.irix: Add curses.h handling from fixinc.wrap.

	* c-common.c (combine_strings): Also set TREE_READONLY.
	Change warn_write_strings to flag_const_strings.
	* c-decl.c, c-tree.h: Likewise.

Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
	CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
	sequence, use SET/IOR instead so CSE can see it.
	* config/sparc/sparc.md (movhi_const64_special,
	movsi_const64_special): New patterns necessitated by that change.
	(movhi_high): Remove.
	(movhi_lo_sum): Change to match an IOR.
	(movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
	(movdf_insn_v9only): New pattern for when V9 but not ARCH64.
	(movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
	(movdf splits): Allow when not V9 or when not ARCH64 and integer
	registers are involved.
	(snesi_zero_extend split): Remove reload_completed test.
	(unnamed plus and minus zero_extend sidi splits): Add it.

Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>

	* extend.texi: Remove description of extension to explicit
	instantiation that is now endorsed by standard C++.

Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/arc/arc.c (arc_initialize_pic): Remove.
	* config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
	nothing on any platform and is invoked by no-one, it does not even
	appear in the documentation.
	* config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
	* config/sparc/sparc.c (initialize_pic): Likewise.
	(find_addr_reg): Remove this as well, no longer referenced after
	my rewrite.

Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)

	* recog.c (validate_replace_rtx_group): New function.
	* recog.h (validate_replace_rtx_group): Declare it.
	* regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
	the entire group of substitutions.

Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)

	* loop.c (load_mems): Fix initializers.

Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (TFmode splits): Handle destination
	registers being referenced in the address correctly.

	* expmed.c (make_tree) [CONST_INT]: Sign extend even if
	TREE_UNSIGNED, when bitsize of type's mode is larger than
	HOST_BITS_PER_WIDE_INT.

Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>

	* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
  	* tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
 	EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
 	macros.
	* expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
 	EXIT_BLOCK_EXPR.

Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)

	* h8300.c (h8300_encode_label): Use '&' for tiny data items.
	* h8300.h (TINY_DATA_NAME_P): Likewise.
	(STRIP_NAME_ENCODING): Handle '&'.

	* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
	register (it could be accessed via an outer SUBREG).
	(REG_OK_FOR_BASE_P): Likewwise.
	(GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.

	* remove.c (optimize_reg_copy_3): Abort instead of silently generating
	bogus rtl.

	* jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.

Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (movtf_insn_sp32): All memory operands
	must be offsettable so the splits can be made.

Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>

	* config/i386/winnt.c: Include system.h, not stdio.h to get
	sys/param.h pulled in before rtl.h in case the system defines MIN
	and MAX.

Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.

Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>

	* stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
	arrays of bits.
	* cpplib.c (cpp_define): Handle macros with parameters.

Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
	(output_toc): Use single TOC slot or llong minimal-toc for DFmode
	and DImode 64-bit.  Use llong for minimal-toc SFmode and
	SYMBOL_REF / LABEL_REF 64-bit.
	(output_function_profiler): Use llong for profiler label and ld to
	load 64-bit label address.

Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)

        * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
        OFFSET addressing.

Wed Aug 19 14:13:31 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Wed Aug 19 13:10:30 PDT 1998 Jeff Law  (law@cygnus.com)

	* version.c: Bump for snapshot.

Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* collect2.c (extract_init_priority): Use atoi instead of strtoul.

Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>

	* tm.texi (Misc): Fix typo "teh".

	* tm.texi (PIC): Fix typo "PPIC".

	* tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
	effect when -O2 and higher.
	* invoke.texi (Optimize Options): Likewise for -fcaller-saves.

1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>

	* regclass.c: Changed register set documentation to be consistent
	with GCC behaviour.

	* final.c (final_start_function) Removed redundant test for
	call_fixed_regs.

Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>

	* rtl.h (rtx_function): New type.
	(for_each_rtx): New function.
	* rtlanal.c (for_each_rtx): Define it.
	
	* recog.c (change_t): New type.
	(change_objects, change_old_codes, change_locs, change_olds):
	Replace with ...
	(changes): New variable.
	(validate_change): Dynamically allocate room for more changes, if
	necessary.  Uses changes array instead of change_objects, etc.
	(apply_change_group):  Use changes array instead of
	change_objects, etc.
	
	* loop.c (loop_mem_info): New type.
	(loop_mems): New variable.
	(loop_mems_idx): Likewise.
	(looop_mems_allocated): Likewise.
	(scan_loop): Remove nregs parameter.
	(next_insn_in_loop): New function.
	(load_mems_and_recount_loop_regs_set): Likewise.
	(load_mems): Likewise.
	(insert_loop_mem): Likewise.
	(replace_loop_mem): Likewise.
	(replace_label): Likewise.
	(INSN_IN_RANGE_P): New macro.
	(loop_optimize): Don't pass max_reg_num() to scan_loop.
	(scan_loop): Remove nregs parameter, compute it after any new
	registers are created by load_mems.  Use INSN_IN_RANGE_P and
	next_insn_in_loop rather than expanding them inline.  Call
	load_mems to load memory into pseudos, if appropriate.
	(prescan_loop): Figure out whether or not there are jumps from the
	loop to targets other than the label immediately following the
	loop.  Call insert_loop_mem to notice all the MEMs used in the
	loop, if it could be safe to pull MEMs into REGs for the duration
	of the loop.
	(strength_reduce): Use next_insn_in_loop.  Tweak comments.

Wed Aug 19 08:29:44 1998  Richard Earnshaw (rearnsha@arm.com)

	* arm.c (arm_override_options): Remove lie about ignoring PIC flag.

Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (finalize_pic): Check for the correct
	nonlocal_goto_receiver UNSPEC number.
	* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
	making note of this dependency existing in sparc.c
	(negtf2_notv9 split): Give NEG SFmode.
	(negsf2): Fix insn output string.
	
Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>

	* c-common.c (decl_attributes): Issue an error if the argument
	to alias is not a string.

Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)

	* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
	pending memory flush list.

	* combine.c (can_combine_p): Allow combining insns with REG_RETVAL
	notes.
	(try_combine): Allow combining insns with REG_LIBCALL notes.

	* expr.c (emit_block_move): Do not call memcpy as a libcall
	instead build up a CALL_EXPR and call it like any other
	function.
	(clear_storage): Similarly for memset.

	* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
	on notes.

	* Makefile.in (cplus-dem.o): Provide explicit rules for building
	cplus-dem.o

	* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
	and REG_LIVE_LENGTH as successful substitutions are made.

Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* config/sparc/sparc.c (ultra_find_type): Add empty semicolon
	statement after end of loop label.

Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (ultra_types_avail): New variable.
	(ultra_build_types_avail): New function to record mask of insn
	types in ready list at this cycle.
	(ultrasparc_sched_reorder): Call it.
	(ultra_find_type): Use it to quicken the search.  Also simplif
	dependency check, don't use rtx_equal_p because we know exactly
	what we are looking for.

Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)

	* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
	for architecture v4.

Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
	gen_compare_reg.
	(movsf_const_intreg, movsf_const_high, movsf_const_lo,
	movdf_const_intreg and helper splits): New patterns to move float
	constants into integer registers.
	(negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
	splits.

Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)

	* From Graham
	* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
	to itype.
	* c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.

	* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
	a BASE_REGS register is needed as an intermediate when copying
	a symbolic value into any register class other than BASE_REGS.

	* expr.c (move_by_pieces): No longer static.  Remove prototype.
	* rtl.h (move_by_pieces): Add extern prototype.
	* mips.c (expand_block_move): Handle aligned straight line copy by
	calling move_by_pieces.

	* expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
	and VAR_DECLs.

Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>

	* stmt.c (expand_end_loop): Tidy.  Allow unconditional
	jumps out of the loop to be treated as part of the exit test.

Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
			  Jeff Law <law@cygnus.com>

	* Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
	* cplus-dem.c: Delete.

	* Makefile.in (fold-const.o): depend on $(RTL_H).

	* fold-const.c: Include rtl.h to get the prototype for
 	`set_identifier_local_value'.

	* loop.c (express_from_1): Remove unused variable `tmp'.
	(combine_givs): cast the first argument of bzero to char *.

	* toplev.c (display_help): Remove unused variable `looking_for_start'.

	* c-decl.c (init_decl_processing): Remove unneeded &.

	* alpha.h (alpha_initialize_trampoline): Provide prototype.
	
	* except.c (set_exception_lang_code, set_exception_version_code):
	Change parameter from `short' to `int' to avoid using a gcc
	extension.

	* except.h (set_exception_lang_code, set_exception_version_code):
	Likewise for prototypes.

	* flow.c (count_reg_references): Remove unused variables `regno'
	and `i'.

	* gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.

	* prefix.c (translate_name): Cast the result of `alloca'.

	* varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.

Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
	Include "toplev.h".
	(valid_dbcc_comparison_p): Mark mode argument as unused.
	(symbolic_operand): Likewise.
	(legitimize_pic_address): Likewise.
	(const_uint32_operand): Likewise.
	(const_sint32_operand): Likewise.
	* sched.c [!INSN_SCHEDULING]: Define only dummy function
	schedule_insns and comment out rest of file.

	* m68k.c (output_move_simode_const): Use subl to move a zero into an
	address register.
	(output_move_[hq]imode): Likewise.

Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)

	* toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
	* invoke.texi: Corresponding changes.

Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>

	* regclass.c (allocate_reg_info): Respect MIN when clearing data.

Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (ultra_code_from_mask,
	ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
	ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
	ultrasparc_sched_init, ultrasparc_variable_issue,
	ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
	functions to describe UltraSPARC pipeline exactly to Haifa.
	(ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
	as there is nothing the scheduler can do about it.  Indicate that
	REG_DEP_OUTPUT's collide.  Fixup formatting.
	* config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
	divide costs on Ultra for DImode.
	(MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
	Define.
	* config/sparc/sparc.md (ieu_unnamed function unit): Rename to
	ieuN and add call_no_delay_slot to type list.
	(cti function unit): New unit for branches on UltraSPARC.
	(subx/addx insns): Set type to misc.
	(sidi zero/sign extension insns on arch64): Set type to shift.
	(sign_extendhidi2_insn): Set type to sload.

Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
	(output_epilog): Use if != 0 for offset.
	(rs6000_fatal_bad_address): Prepare for Intl.
	* rs6000.h (rs6000_fatal_bad_address): Declare.
	* rs6000.md (movsfcc, movdfcc): Use else if.
	(elf_high): Use {liu|lis}.
	(elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
	(movsi): Use rs6000_fatal_bad_address.
	
Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>

	* reload.c (find_equiv_reg): Reject equivalences separated
	by a volatile instruction.

Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 

        * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.

Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.md (movsicc): Fix mode mismatch.

Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)

	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
	return type.
	* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.

Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
	write-only modifier from operand 1 constraint.

Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
	emitting a XOR of -1 at the end, emit a NOT instead for combine's
	sake.
	(sparc_emit_set_const64): Likewise, also when computing trailing
	bits do not negate low_bits and make fast_int an int.

Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)

	* loop.c (add_label_notes): Do not ignore references to labels
	before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
	* gcse.c (add_label_notes): Similarly.

	* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.

	* m68k.md (adddi_dilshr32): One of the operands must be a register.
	(adddi_dishl32): Similarly.

Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
	* alias.c (memrefs_conflict_p): Add braces to shut up warnings.
	* cse.c (cse_basic_block): Add parens to shut up warnings.

Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (sparc_emit_set_const64_quick2,
	sparc_emit_set_const64_longway, const64_is_2insns,
	create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
	in 64-bit constant formation.
	* config/sparc/sparc.md (snesi_zero_extend split): Generate
	rtl for addx not subx.
	(define_insn movdi_const64_special): Make available even when
	HOST_BITS_PER_WIDE_INT is not 64.
	(movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
	(losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
	(cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
	instances of operand 1 inside a QI subreg.
	(xordi3_sp64_dbl): Remove '%' constraint for op1.
	(one_cmpldi2_sp64): Fix output string.
	(one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
	alternative case.
	(unnamed arch64 ashift DI): Truncate shift count if greater than
	63, not 31.

Fri Aug 14 21:52:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* expr.c (store_expr): Don't optimize away load-store pair
	when either source or destination have a side effect.

Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>

	* genrecog.c (add_to_sequence): Fatal error if the modes of the
	operands of SET are incompatible.

	* alpha.md: Fix max and min patterns so modes of SET operands match.

Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Avoid [[ by using test and changequote.
	* configure: Rebuild.

Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* rtl.def (CONSTANT_P_RTX): Fix typo in string name.

	* config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
	seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
	split, snedi_zero_trunc and split, seqsi_zero_extend and split,
	seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
	movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
	split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
	Fix mismatching modes in SET operands.
	(conditional move patterns): Fix formatting.
	(unnamed subx arch64 pattern): Remove duplicate insn.
	
Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (const64_operand, const64_high_operand):
	Get it right when HOST_BITS_PER_WIDE_INT is not 64.
	(input_operand): Fixup test for what we accept for constant
	integers.
	(sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
	set VOIDmode.
	(safe_constDI): Remove.
	(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
	gen_safe_XOR64): New functions.
	(sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
	sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
	them.
	* config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
	available when HOST_BITS_PER_WIDE_INT is not 64.
	(define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
	move before movdi_insn_sp64 pattern.
	(define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
	(define_insn sethi_di_medlow, seth44, setm44, sethh): Use
	symbolic_operand as predicate for second operand.
	(DImode minus split on arch32, negsi2 expander, one_cmplsi2
	expander): Give set VOIDmode.
	
Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>

	* i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.

Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>

	* rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.

Fri Aug 14 01:23:23 1998  Richard Earnshaw (rearnsha@arm.com)

	* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating 
	point.
	(CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.

Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>

	* install.texi: Various SCO OpenServer tweaks.

Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>

	* reload1.c (eliminate_regs_in_insn): Handle another case when
	eliminating the frame pointer to the hard frame pointer.  Add
	missing	ep->to_rtx check to one existing case.

	* mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.

Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* tree.h: De-conditionalize init_priority code.

	* mips.h (NM_FLAGS): Change from -Bp to -Bn.
	* collect2.c (NM_FLAGS): Change from -p to -n.

	* configure.in: Turn on collect2 for mipstx39-elf.
	Handle use_collect2=no properly.

	* c-common.c: De-conditionalize init_priority code.
	* collect2.c (extract_init_priority, sort_ids): New fns.
	(main): Call sort_ids.
	Move sequence_number to file scope.

	* configure.in: Handle --enable-init-priority.
	* c-common.c (attrs): Add A_INIT_PRIORITY.
	(init_attributes, decl_attributes): Likewise.
	* tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
	* tree.c (get_file_function_name_long): Split out...
	(get_file_function_name): ...from here.

Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>

	* expr.c (safe_from_p): Change code to ERROR_MARK only when not
	accessing nodes.

Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* toplev.c (display_help): Add braces to shut up warnings.
	* tree.c (simple_cst_equal): Likewise.

	* fold-const.c (non_lvalue): Don't deal with null pointer 
	constants here.
	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.

	* c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
	of any size to a pointer.

Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>

	* i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.

Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
	which will be saved.
	* mn10300.md (prologue insn): Only save registers which need saving.
	(epilogue insn): Similarly.

	* mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
	optimizations.

Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
	VAR_DECL's in gp addressable sections.

Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>

	* sparc.c: Change return <exp> to <exp>; return; in functions
 	returning void.
	* sparc.md: Add empty semicolon statement after final label in
	move expanders.

Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.md (define_insn addx_extend): Rename to
	addx_extend_sp64, only allow when TARGET_ARCH64.
	(define_insn addx_extend_sp32 and split): Version that works when
	not TARGET_ARCH64.
	(define_insn subx_extend): Likewise.
	(define_split adddi3 and subdi3 with zero extension): Fixup and
	correct bugs when not TARGET_ARCH64.

Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>

	* except.c (set_exception_lang_code, set_exception_version_code):
	Use prototype-style definition if __STDC__, to match declaration
	in except.h.

	* genemit.c: Change FAIL and DONE macros not to use loops.

Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>

	* dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
	ASM_OUTPUT_DWARF2_ADDR_CONST if defined.

	* mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.

Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>

	* README.g77: Update from Craig.

Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
	type HOST_WIDE_INT.
	(safe_constDI sparc_emit_set_const64_quick1,
	sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
	analyze_64bit_constant, const64_is_2insns,
	create_simple_focus_bits): Fix some bugs when compiled on real
	64-bit hosts.
	(function_arg_record_value_3, function_arg_record_value_2,
	function_arg_record_value): Add fully prototyped forward decls.
	* config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
	to cmpsi_insn and use on both 64 and 32 bit targets.
	(define_insn cmpsi_insn_sp64): Remove.
	(define_expand zero_extendsidi2): Allow for 32-bit target too.
	(define_insn zero_extendsidi2_insn): Rename to
	zero_extendsidi2_insn_sp64.
	(define_insn zero_extendsidi2_insn_sp32): New pattern and
	assosciated forced split for it.

	* config/sparc/sparc.c (const64_operand, const64_high_operand):
	New predicates.
	* config/sparc/sparc.h: Declare them.
	(PREDICATE_CODES): Add them.
	* config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
	movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.

Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>

	* config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
	in v9 case as the latter makes the Solaris assembler crash.

Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
	for TFmode when !v9.  We require offsettable memory addresses.
	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
	DFmode register number conversions.
	* config/sparc/sparc.md (define_split DFmode moves): If register
	is a SUBREG do alter_subreg on it before using.
	(define_expand movtf): Fixup comment about alignment on v9.
	(define_split TFmode moves): Don't use gen_{high,low}part, create
	explicit SUBREGs instead.

Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>

	* Makefile.in (mbchar.o): Depend on mbchar.c.

Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
			  Richard Henderson  <rth@cygnus.com>
	
	Rewrite Sparc backend for better code generation and
	improved sparc64 support.
	* config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
	zero.
	* config/sparc/sysv4.h: Likewise.
	* config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
	move_operand, v8plus_regcmp_op, emit_move_sequence,
	singlemove_string, doublemove_string, mem_aligned_8,
	output_move_double, output_move_quad, output_fp_move_double,
	move_quad_direction, output_fp_move_quad, output_scc_insn):
	Remove.
	(small_int_or_double): New predicate.
	(gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
	(legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
	old pic_{sethi,lo_sum}_si patterns.
	(mem_min_alignment): New generic function to replace
	mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
	available and can test for arbitrary alignments.  All callers
	changed.
	(save_regs, restore_regs, build_big_number,
	output_function_prologue, output_cbranch, output_return,
	sparc_flat_save_restore, sparc_flat_output_function_prologue,
	sparc_flat_output_function_epilogue): Prettify
	insn output.
	(output_function_epilogue): Likewise and add code to output
	deferred case vectors.
	(output_v9branch): Likewise, add new arg INSN and use it to tack
	on branch prediction settings.  All callers changed.
	(print_operand): Likewise and output %l44 for LO_SUMs when
	TARGET_CM_MEDMID.
	(sparc_splitdi_legitimate): New function to make sure DImode
	splits can be run properly when !arch64.
	(sparc_initialize_trampoline, sparc64_initialize_trampoline):
	Reformat example code in comments.
	(set_extends): Remove UNSPEC/v8plus_clear_high case.
	(sparc_addr_diff_list, sparc_addr_list): New statics to keep track
	of deferred case vectors we need to output.
	(sparc_defer_case_vector): Record a case vector.
	(sparc_output_addr_vec, sparc_output_addr_diff_vec,
	sparc_output_deferred_case_vectors): New functions to output them.
	(sparc_emit_set_const32): New function to form 32-bit constants in
	registers when that requires more than one instruction.
	(safe_constDI, sparc_emit_set_const64_quick1,
	sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
	analyze_64bit_constant, const64_is_2insns,
	create_simple_focus_bits, sparc_emit_set_const64): New functions
	which do the same for 64-bit constants when arch64.
	(sparc_emit_set_symbolic_const64): New function to emit address
	loading for all code models on v9.
	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
	%g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
	(ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
	(SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
	inaccuracies in comments, add symbolic and text_segment operands
	when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
	GENERAL_REGS in these cases as a temp REG is needed to load these
	addresses into a register properly.
	(EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
	is no longer used.
	(GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
	quads are guarenteed to have 16-byte alignment.
	(LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
	copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
	(ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
	deferred case vector implementation.
	(ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
	Generate "internal label - label" instead of "label - 1b".
	(PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
	(PREDICATE_CODES): Remove sparc_operand, move_operand,
	v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
	zero_operand.
	(doublemove_string, output_block_move, output_fp_move_double,
	output_fp_move_quad, output_move_double, output_move_quad,
	output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
	sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
	(sparc_emit_set_const32, sparc_emit_set_const64,
	sparc_emit_set_symbolic_const64, input_operand, zero_operand,
	mem_min_alignment, small_int_or_double): Add externs.
	* config/sparc/sparc.md: Document the many uses of UNSPEC and
	UNSPEC_VOLATILE in this backend.
	(define_function_unit ieu): Rename to ieu_unnamed.  Add move and
	unary to types which execute in it.
	(define_function_unit ieu_shift): Rename to ieu0.
	(define_function_unit ieu1): New, executes compare, call, and
	uncond_branch type insns.
	(define_function_units for type fdivs, fdivd, fsqrt): These
	execute in the fpu multiply unit not the adder on UltraSparc.
	(define_expand cmpdi): Disallow TARGET_V8PLUS.
	(define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
	(define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
	allows the arith_double_operand predicate and rHI constraint when
	TARGET_ARCH64.
	(define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
	cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
	neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
	sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
	sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
	movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
	movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
	movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
	movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
	cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
	sign_extendqihi2_insn, sign_extendqisi2_insn,
	sign_extendqidi2_insn, sign_extendhidi2_insn,
	extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
	trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
	floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
	fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
	adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
	subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
	muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
	const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
	smulsi3_highpart_v8plus, unnamed subreg mult,
	const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
	const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
	const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
	const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
	const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
	udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
	andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
	or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
	xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
	cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
	cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
	cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
	cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
	cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
	cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
	addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
	muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
	negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
	ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
	cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
	ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
	lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
	call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
	call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
	call_address_untyped_struct_value_sp32,
	call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
	call_value_symbolic_sp32, call_value_address_sp64,
	call_value_symbolic_sp64, branch_sp32, branch_sp64,
	flush_register_windows, goto_handler_and_restore,
	goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
	flush, all ldd/std peepholes, return_qi, return_hi, return_si,
	return_addsi, return_di, return_adddi, return_sf, all call+jump
	peepholes, trap, unnamed trap insns): Prettify output strings.
	(define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
	or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
	Likewise and force + implement splits for integer cases.
	(define_insn return_sf_no_fpu): Likewise and allow to match when
	no-fpu because of our subreg SFmode splits.
	(define_insn zero_extendqihi2, zero_extendqisi2_insn,
	zero_extendqidi2_insn, zero_extendhidi2_insn,
	zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
	input_operand for second operand.
	(cmp_minus_cc, cmp_minus_cc_set): Likewise and use
	reg_or_0_operand for operand 2 so new splits can use it.
	(cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
	cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
	too.
	(cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
	CONST_DOUBLEs for operand 2.
	(define_insn move_label_di): Likewise and label distance
	optimization because it no longer works with new deferred case
	vector scheme.  To be revisited.
	(define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
	and allow reg_or_0_operand and J constraint for second operand.
	(define_insn jump): Set branch predict taken on V9.
	(define_insn tablejump): Emit LABEL_REF + PLUS memory address for
	new deferred case vector scheme.
	(define_insn pic_tablejump_32, pic_tablejump_64): Remove.
	(define_insn negdi2_sp32): Force + implement splits.
	(define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
	one_cmplsi2_not_liveg0 respectively, and create	expander of original
	names which emit special rtl for TARGET_LIVE_G0.
	(define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
	(define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
	gen_compare_reg, FAIL instead.
	(define_insn sgtu, sleu): Likewise and check gen_s*() return
	values when trying to reverse condition codes, if they FAIL then
	do likewise.
	(define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
	snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
	neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
	seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
	x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
	set output string to # to indicate they are mandatory splits.
	(define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
	pic_sethi_di, move_pic_label_si): Remove.
	(define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
	movsi_high_pic, movsi_pic_label_reg): New patterns to take their
	place.
	(define_expand movsi_pic_label_ref, define_insn
	movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
	expander and insns to handle PIC label references and deferred
	case vectors.
	(define_insn get_pc_via_rdpc): Comment out as it is no longer
	used.
	(define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
	Rewrite to not use emit_move_sequence, make use of new constant
	formation code, and new splits for all multi-insn cases.
	(define_insn movqi_insn): Remove sethi case, it can never happen.
	Use reg_or_zero_operand instead of const0_rtx explicit test,
	use input_operand instead of move_operand for source, and use
	general_operand now for dest.
	(define_insn movhi_insn): Similar but leave sethi case.
	(define_insn lo_sum_qi, store_qi, store_hi): Remove.
	(define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
	movhi_lo_sum respectively, prettify output string.
	(define_insn movsi_zero_liveg0): New pattern to put zero into a
	register when needed on TARGET_LIVE_G0.
	(define_insn movsi_insn): Use general_operand and input_operand
	for dest and src respectively.  Simplify applicability test.
	Prettify output strings, and add clr alternative for J
	constraint.
	(define_insn movdi_sp32_v9, movdi_sp32, define_splits for
	deprecated std and reg-reg DI moves): Remove and...
	(define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
	implementation which uses forced splits for all non-single insn
	cases.
	(define_split DI move cases on !arch64): New splits to handle all
	situations of 64-bit double register DImode on 32bit, and
	unaligned registers and memory addresses for all subtargets.
	(define_insn movsf_const_insn, movdf_const_insn, store_sf):
	Remove.
	(define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
	input_operand for dest and src respectively, prettify output
	strings.
	(define_insn movdf_insn, movdf_no_e_insn, store_df,
	movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
	and...
	(define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
	movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
	movtf_no_e_insn_sp64) Replace with new
	implementation which uses forced splits for all non-single insn
	cases.
	(define_split DF move cases): New splits in similar vein to DI
	move counterparts.
	(define_insn sethi_di_medlow, sethi_di_medium_pic,
	sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
	movdi_sp64_insn): Remove old v9 code model and constant loading
	support insns and..
	(define_insn pic_lo_sum_di, pic_sethi_di,
	sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
	seth44, setm44, setl44, sethh, setlm, sethm, setlo,
	embmedany_sethi, embmedany_losum, embmedany_brsum,
	embmedany_textuhi, embmedany_texthi, embmedany_textulo,
	embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
	movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
	scheme, using unspecs, secondary reloads, and one to one sparc
	insn to rtl insn mapping for better scheduling and code gen.
	(define_expand reload_indi, reload_outdi): Reload helpers for
	MEDANY and EMBMEDANY symbol address loading cases which require a
	temporary register.
	(define_expand movsicc): Remove v8plus_regcmp cases.
	(define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
	cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
	cmp_diqi_trunc_set): New patterns used by some of the new scc
	splits on arch64.
	(define_insn xordi3_sp64_dbl): New pattern used for constant
	formation when crossing from 32-bit targets.
	(define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
	split): Remove.
	(define_insn addx, subx): Make visible and prettify.
	(define_insn adddi3_insn_sp32): Likewise and force split.
	(define_insn addx_extend, subx_extend, unnamed): New patterns for
	64bit scc split usage.
	(define_insn unnamed plusDI zero_extend, unnamed minusDI
	zero_extend, subdi3): Force and implement splits.
	
	* final.c (final_scan_insn): Don't output labels if target
	specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
	instead.
	
	* reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
	don't forget to walk inside SEQUENCESs too as these are what the
	delay slot scheduler will create.
	
Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.md (extxl+1,+2): New patterns to work around
	combine lossage.

Sat Aug  8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)

	* rs6000.c (rs6000_allocate_stack_space) Fix typo which
	caused bad assembly code to be generated.

Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)

	* netbsd.h: Fix typo.

Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com> 

	* config.sub: Fix typo.

Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>

	* invoke.texi (Environment Variables): Typo: Change "ascpects"
	into "aspects".
	(Running Protoize): Typo: Change "ther" into "other".

Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)

	* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
	* m68k/netbsd.h: Likewise.
	* ns32k/netbsd.h: Likewise.
	* sparc/netbsd.h: Likewise.

Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>

        * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
        * ginclude/va-clipper.h (va_list): Likewise.

Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (rs6000_override_options): If big endian and -Os, use
	load/store multiple instructions unless user overrides.

Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)

	* ns32k/netbsd.h: Fix typo.

Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>

	* m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
	labels with .debugsym if no parallel insns.

Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
	(fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.

Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
	(AR_FOR_TARGET): Define.

Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>

	* dyn-string.h: New file.
	* dyn-string.c: Likewise.
	* Makefile.in (OBJS): Add dyn-string.o.
	(dwarf2out.o): Add dyn-string.h dependency.
	(dyn-string.o): List dependencies.
	* dwarf2out.c: Include dyn-string.h.
	(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
	(addr_const_to_string): Take a dyn_string_t, not a char* as a
	prototype.  Use dyn_string_append rather than strcat, throughout.
	(addr_to_string): Use dyn_string_t.

Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>

	Function entry/exit profiling instrumentation:
	* expr.h (profile_function_entry_libfunc,
	profile_function_exit_libfunc): Declare new variables.
	* optabs.c: Define them here.
	(init_optabs): Initialize them.
	* tree.h (struct tree_decl): New flag
	no_instrument_function_entry_exit.
	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
	* c-decl.c (duplicate_decls): Merge it.
	* c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
	(init_attributes): Use it for "no_instrument_function".
	(decl_attributes): Handle it, for functions that have not yet been
	compiled.  Set decl flag.
	* flags.h (flag_instrument_function_entry_exit): Declare new
	variable.
	* toplev.c (flag_instrument_function_entry_exit): Define it here.
	(f_options): New option "instrument-functions".
	* function.h (struct function): New field instrument_entry_exit.
	* function.c (current_function_instrument_entry_exit): New
	variable.
	(push_function_context_to, pop_function_context_from): Save and
	restore.
	(expand_function_start): Set current_ variable, maybe emit return
	label and entry profile call.
	(expand_function_end): Maybe emit exit profile call.

Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)

	* i386.md (movqi): When optimizing a load of (const_int 1) into a
	NON_QI_REG_P, pretend the register is SImode.

Wed Jul 29 23:49:23 1998  Todd Vierling <tv@netbsd.org>

	* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
	Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
	manufacturer id for ns32k.
	* configure: Regenerated.
	* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
	* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
	* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
	* config/m68k/netbsd.h: Same.
	* config/ns32k/netbsd.h: Same.
	* config/sparc/netbsd.h: Same.

Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)

	* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
	or UNROLL_COMPLETELY loop that starts with a jump to its
	exit code.

Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
	* rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
	(print_operand, case 'B'): Don't fall through.
	(print_operand, case 'S'): Correct mask begin/end computation.
	Use HOST_BITS_PER_WIDE_INT.
	* rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
	(CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
	* rs6000/aix41.h (CPP_PREDEFINES): Same.
	* rs6000/aix43.h (CPP_PREDEFINES): Same.

Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
	constraint from second alternative.

Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* configure.in: Fix --without/--disable cases for local-prefix, 
	gxx-include-dir and checking.

Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* configure.in (enable_haifa): Set by default for sparc64 too.
	configure: Rebuilt.

Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
	* i386/winnt.c (associated_type): New fn.
	(i386_pe_valid_type_attribute_p): New fn.
	(i386_pe_check_vtable_importexport): Remove.
	(i386_pe_dllexport_p): Use associated_type.
	(i386_pe_dllimport_p): Likewise.

	From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
	* i386.c (i386_valid_type_attribute_p): Also accept
	attributes for METHOD_TYPEs.

Tue Jul 28 23:17:39 1998  Peter Gerwinski <peter@gerwinski.de>

	* tree.c (build_range_type): Copy TYPE_SIZE_UNIT.

Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>

	* gcc.c: Fix commentary describing %g, %u, %U, and %O.

	* gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
	them from generating a new base name for each occurence of
	a specific suffix.

1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>

	* cse.c (cse_insn): Enable subsitution inside libcall only for REG,
	SUBREG, MEM.
	* rtlanal.c (replace_rtx): Prohibit replaces in	CONST_DOUBLE. 



	* cplus-dem.c (type_kind_t): New type.
	(demangle_template_value_parm): Add type_kind_t parameter.  Rely
	on this paramter, rather than demangling the type again.
	(demangle_integral_value): Pass tk_integral.
	(demangle_template_: Pass the value returned from do_type.
	(do_type): Return a type_kind_t.  Pass tk_integral to
	demangle_template_value_parm for array bounds.
	(demangle_fund_type): Likewise.
	
Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
	identical.

Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)

	* pa.c (move_operand): Accept CONSTANT_P_RTX.

Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>

	* stor-layout.c (layout_type): Handle arrays of bits, for Chill.

	* expr.c (get_inner_reference): Handle zero-based, unsigned, array
	index conversion.

Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
	(DEBUGGER_ARG_OFFSET): Likewise.

	* mn10300.md (movsf): Remove last change.  Not needed.

Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>

	* c-lex.c (yylex): Fix boundary conditions in character literal and
	string literal loops.

Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>

	* longlong.h (count_leading_zeros): Sparclite scan instruction was
	being invoked incorrectly.

	* i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
	* i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): 
	Add -pg support. 
	* i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
	* configure.in: Added i[34567]86-*-win32
	* config.sub: Ditto.
	* configure: Rebuilt.
	
Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)

	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
	the frame pointer and compiling PIC code and reload has not completed.

	* i386.c (output_to_reg): Add code to emulate non-popping DImode
	case.

Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)

	* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.

Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* Makefile.in (install-info): Only try to update the info
	directory file if it exists in the first place.

Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>

	* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.

Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
	CONST_DOUBLE source.

Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
	strings as the insertion of USER_LABEL_PREFIX.
	* config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
	valid code.
	* config/arm/thumb.md: Use %_ as a prefix to gcc library function
	calls. 

Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>

	* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
	already defined type.

Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)

	* expr.c (check_max_integer_computation_mode): Allow conversions
	of constant integers to MAX_INTEGER_COMPUTATION_MODE.
	(expand_expr): Likewise.

Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (expand_expr): Expand RETURN_EXPR.

Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>

	* dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.

Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>

        * dwarf2out.c (output_aranges):  Call stripattributes
        for TEXT_SECTION references.
        (output_line_info): Likewise.

Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* profile.c (branch_prob): Call allocate_reg_info after outputting
	profile rtl in instrument_arcs.

Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>

	* fixinc.irix (math.h): Install wrapper instead of copying.

Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>

	* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
 	so WFL are expanded correctly when contained in a COMPOUND_EXPR.
	* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
 	lang_flag_0. Added documentation in the flag table.

Tue Jul 21 23:28:35 1998  Klaus Kaempf <kkaempf@rmi.de>

	* cccp.c (do_include): Fix vax c style include handling.

Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.

Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* fold-const.c (non_lvalue): Don't deal with null pointer 
	constants here.
	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.

Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
	* rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
	* rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
	(u_short_cint_operand): Same.
	(reg_or_cint_operand): Same.
	(logical_operand): Same.
	(input_operand): Same.
	(reg_or_short_operand): Use u_short_cint_operand.

Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
	but keep the insns and splits.  Adjust so when the ultimate destination
	is memory, use cvtql.

Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>

	* flow.c (regno_uninitialized): Fixed regs are never uninitialized.

Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)

	* gcc.c (do_spec): Call "error" not "warning".

	* configure.in: Fix minor problems with gas feature detection code.
	* configure: Rebuilt.

	* gcc.c (do_spec): Issue a warning for '%[]' usage.

	* Undo this change.
	* gcc.c: Delete %[spec] support.
	(do_spec_1, case '('): Likewise.
	(do_spec_1, case '['): Call error.

Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
	(CPP_SUBTARGET_SPEC): Default to empty string.
	(CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
	* alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
	* alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
	(LIB_SPEC): Tidy.
	* alpha/linux.h (CPP_PREDEFINES): Tidy.
	* alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
	* alpha/netbsd.h (CPP_PREDEFINES): Tidy.
	* alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
	* alpha/win-nt.h (CPP_PREDEFINES): Likewise.
	* alpha/vsf.h (CPP_PREDEFINES): Likewise.
	(CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
	* alpha/vxworks.h: Likewise.

Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>

	* mips.md (reload_outsi): Added missing REGNO call.
	(smulsi3_highpart, umulsi3_highpart): Provide prototype for
	function pointer.
	(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
	another match_operator and compare the codes.

	* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.

	* MIPS multiply pattern fixes:
	* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
	Add union classes for HI, LO, or HILO plus general registers.
	(GENERATE_MADD): Deleted.
	* mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
	Add TARGET_MAD to condition.
	(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
	(mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
	"*d" for accumulator, to give preference to LO initially but not
	during reload.

Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>

	* configure.in (enable_c_mbchar): New configure option.
	(extra_cpp_objs): Always available now.

	* cexp.y (mbchar.h): #include it.
	(yylex): Handle Multibyte characters in character literals.

	* cccp.c (mbchar.h): #include it.
	(main): Set character set based on LANG environment variable.
	(rescan): Handle multibyte characters in comments.
	(skip_if_group): See above.
	(validate_else): See above.
	(skip_to_end_of_comment): See above.
	(macarg1): See above.
	(discard_comments): See above.
	(rescan): Handle multibyte characters in string and character literals.
	(collect_expansion): See above.
	(skip_quoted_string): See above.
	(macroexpand): See above.
	(macarg1): See above.
	(discard_comments): See above.
	(change_newlines): See above.

	* c-lex.c (mbchar.h): #include it.
	(GET_ENVIRONMENT): New macro.
	(init_lex): Set character set based on LANG environment variable.
	(yylex): Handle multibyte characters in character literals.
	(yylex): Handle multibyte characters in string literals.

	* Makefile.in (mbchar.o): New target.
	(cccp$(exeext)): @extra_cpp_objs@ is always available.
	(cppmain$(exeext)): @extra_cpp_objs@ is always available.

	* mbchar.[ch]: New files for multibyte character handling.

Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* jump.c (jump_optimize): When simplifying noop moves and
	PUSH_ROUNDING, fix thinko so we use same criterion for identifying
	the PUSHes to rewrite in second loop as we did in the first.

Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* cplus-dem.c (demangle_nested_args): Make function definition
	static to match the prototype.

Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>

	* alloca.c: Respect USE_C_ALLOCA.
	* gencheck.c (xmalloc): Ignore __GNUC__ for definition.
	* gengenrtl.c (xmalloc): Likewise.

Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>

	* loop.h (struct induction): Add no_const_addval.
	* loop.c (the_movables, reg_address_cost): New variables.
	(init_loop): Init reg_address_cost.
	(loop_optimize): Call end_alias_analysis.
	(scan_loop): Init the_movables.
	(record_giv): Init induction->no_const_addval.
	(basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
	[REG]: Rearrange loop search test to catch more cases.
	(general_induction_var): Return success not benefit; take an extra
	argument for that.  Change all callers.
	(simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
	[MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
	[default]: Search the_movables for additional combinations.
	(sge_plus_constant, sge_plus): New functions.
	(express_from_1): New function.
	(express_from): Always define.  Rewrite using express_from_1.
	(combine_givs_p): Handle more cases.  Ignore address cost.
	(cmp_combine_givs_stats): New function.
	(combine_givs_used_once, combine_givs_benefit_from): New functions.
	(combine_givs): Rewrite to do best-fit combination.

	* fold-const.c (operand_equal_p): Handle RTL_EXPR.
	(fold): Do a complete (A*C)+(B*C) association check.

Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>

	* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.

Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.c (MODES_TIEABLE_P): Fix typo.

Fri Jul 17 03:26:12 1998  Rihcard Earnshaw (rearnsha@arm.com)

	* tree.c (valid_machine_attribute): Only create a new type variant if
	there is a decl to use it.

Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>

	* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
	a suffix.

Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>

	* extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
	be deleted" 

Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
	Simplify tests for clearing an address register.
	(expand_prologue): Corresponding changes.

	* mn10300.md (movXX patterns): Make sure the destination is an
	ADDRESS_REG when substituting "zero_areg" for (const_int 0).
	(logical patterns): Split into expanders + patterns
	(zero and sign extension patterns): Similarly.
	(shift patterns): Similarly.

Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>

	* loop.c (emit_iv_add_mult): Scan the entire insn list generated
	for the sequence, recording base values.

Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>

	* i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).

Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>

	* gcc.c: Remove ANSI-C ism from --help code.

	* toplev.c: Support --help with USE_CPPLIB.

Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Rework gas feature code to work with symlink based
	source trees.

	* extend.texi: Clarify some issues related to local variables
	assigned to explicit registers.

	* mn10300.md (mulsi): Turn into expander + pattern.

	* mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
	alternative.

Tue Jul 14 07:41:59 1998  Richard Earnshaw (rearnsha@arm.com)

	* arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.

Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)

	* version.c: Bump again to distinguish mainline tree from the
	egcs-1.1 branch.

See ChangeLog.0 for earlier changes.

Local Variables:
add-log-time-format: current-time-string
End: