]>
Commit | Line | Data |
---|---|---|
8dd73200 JB |
1 | This patch reverts gcc 3.3.4 change which triggers ICE on code using |
2 | "complex" type - but generated code is _probably wrong_. | |
3 | Proper fix is included in gcc 3.4.0, but it changes ABI. | |
4 | This patch is meant only to provide gcc 3.3.4 on alpha, suitable to | |
5 | bootstrap gcc 3.4.0. | |
6 | ||
53e5f23c JB |
7 | --- gcc-3.3.4/gcc/emit-rtl.c.orig 2003-12-10 18:37:18.000000000 +0100 |
8 | +++ gcc-3.3.4/gcc/emit-rtl.c 2004-06-08 14:44:21.000000000 +0200 | |
9 | @@ -925,7 +925,7 @@ | |
10 | if (base_regno >= FIRST_PSEUDO_REGISTER) | |
11 | abort (); | |
12 | if (check_mode && ! HARD_REGNO_MODE_OK (base_regno, GET_MODE (reg))) | |
13 | - abort (); | |
14 | + { fprintf(stderr, "bad mode: %d\n", GET_MODE (reg)); abort (); } | |
15 | #ifdef ENABLE_CHECKING | |
16 | if (!subreg_offset_representable_p (REGNO (reg), GET_MODE (reg), | |
17 | SUBREG_BYTE (x), mode)) | |
18 | --- gcc-3.3.4/gcc/config/alpha/alpha.h.orig 2004-05-28 02:02:03.000000000 +0200 | |
19 | +++ gcc-3.3.4/gcc/config/alpha/alpha.h 2004-06-08 15:08:17.000000000 +0200 | |
20 | @@ -646,7 +646,7 @@ | |
21 | ||
22 | #define HARD_REGNO_MODE_OK(REGNO, MODE) \ | |
23 | ((REGNO) >= 32 && (REGNO) <= 62 \ | |
24 | - ? (MODE) == SFmode || (MODE) == DFmode || (MODE) == DImode \ | |
25 | + ? (MODE) == SFmode || (MODE) == DFmode || (MODE) == DImode || (MODE) == SCmode \ | |
26 | : 1) | |
27 | ||
28 | /* Value is 1 if MODE is a supported vector mode. */ |