This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 3.3.4-prerelease fails to build on alphaev6-dec-osf5.1


Richard Henderson <rth@redhat.com> writes:

| On Sun, May 23, 2004 at 10:48:16PM -0600, Roger Sayle wrote:
| > Almost prophetically Eric's comment #22 on bugzilla PR 11864 reads
| > "Beware, however, that other 64-bit ports might be affected by the
| > same problem."  It's getting late, so I haven't yet checked if there's
| > a CANNOT_CHANGE_MODE_CLASS patch for alpha on mainline, which might
| > resolve this failure if backported.
| 
| I suspect this patch would fix the problem:
| 
| 2004-01-19  Richard Henderson  <rth@redhat.com>

I did not find a specifc message of yours posted to gcc-patches
regarding this patch.  So, I went to

   http://gcc.gnu.org/ml/gcc-cvs/2004-01/msg00822.html

which is the patch you applied to gcc-3_4-branch.  The reconstructed
patch against alpha.md did not cleanly apply.  Here is the list of
hunks that failed:

    Hunk #5 FAILED at 2293.
    Hunk #6 FAILED at 2316.
    Hunk #7 FAILED at 2368.
    Hunk #8 FAILED at 2392.

and the corresponding alpha.md.rej is appendend below.  I'm not
familiar with this part of the compiler

Thanks,

-- Gaby

@@ -2320,14 +2293,16 @@
 	  (match_operator:DI 4 "fix_operator" 
 	    [(match_operand:DF 1 "reg_or_0_operand" "fG")]) 0))
    (clobber (match_scratch:DI 2 "=&f"))
-   (clobber (match_scratch:SI 3 "=&f"))]
+   (clobber (match_scratch:SF 3 "=&f"))]
   "TARGET_FP && alpha_fptm >= ALPHA_FPTM_SU"
   "#"
   "&& reload_completed"
   [(set (match_dup 2) (match_op_dup 4 [(match_dup 1)]))
-   (set (match_dup 3) (unspec:SI [(match_dup 2)] UNSPEC_CVTQL))
-   (set (match_dup 0) (match_dup 3))]
-  ""
+   (set (match_dup 3) (unspec:SF [(match_dup 2)] UNSPEC_CVTQL))
+   (set (match_dup 5) (match_dup 3))]
+{
+  operands[5] = adjust_address (operands[0], SFmode, 0);
+}
   [(set_attr "type" "fadd")
    (set_attr "trap" "yes")])
 
@@ -2341,10 +2316,12 @@
   "#"
   "&& reload_completed"
   [(set (match_dup 2) (match_op_dup 3 [(match_dup 1)]))
-   (set (match_dup 4) (unspec:SI [(match_dup 2)] UNSPEC_CVTQL))
-   (set (match_dup 0) (match_dup 4))]
-  ;; Due to REG_CANNOT_CHANGE_SIZE issues, we cannot simply use SUBREG.
-  "operands[4] = gen_rtx_REG (SImode, REGNO (operands[2]));"
+   (set (match_dup 4) (unspec:SF [(match_dup 2)] UNSPEC_CVTQL))
+   (set (match_dup 5) (match_dup 4))]
+{
+  operands[4] = gen_rtx_REG (SFmode, REGNO (operands[2]));
+  operands[5] = adjust_address (operands[0], SFmode, 0);
+}
   [(set_attr "type" "fadd")
    (set_attr "trap" "yes")])
 
@@ -2391,14 +2368,16 @@
 	    [(float_extend:DF
 	       (match_operand:SF 1 "reg_or_0_operand" "fG"))]) 0))
    (clobber (match_scratch:DI 2 "=&f"))
-   (clobber (match_scratch:SI 3 "=&f"))]
+   (clobber (match_scratch:SF 3 "=&f"))]
   "TARGET_FP && alpha_fptm >= ALPHA_FPTM_SU"
   "#"
   "&& reload_completed"
   [(set (match_dup 2) (match_op_dup 4 [(float_extend:DF (match_dup 1))]))
-   (set (match_dup 3) (unspec:SI [(match_dup 2)] UNSPEC_CVTQL))
-   (set (match_dup 0) (match_dup 3))]
-  ""
+   (set (match_dup 3) (unspec:SF [(match_dup 2)] UNSPEC_CVTQL))
+   (set (match_dup 4) (match_dup 3))]
+{
+  operands[4] = adjust_address (operands[0], SFmode, 0);
+}
   [(set_attr "type" "fadd")
    (set_attr "trap" "yes")])
 
@@ -2413,10 +2392,12 @@
   "#"
   "&& reload_completed"
   [(set (match_dup 2) (match_op_dup 3 [(float_extend:DF (match_dup 1))]))
-   (set (match_dup 4) (unspec:SI [(match_dup 2)] UNSPEC_CVTQL))
-   (set (match_dup 0) (match_dup 4))]
-  ;; Due to REG_CANNOT_CHANGE_SIZE issues, we cannot simply use SUBREG.
-  "operands[4] = gen_rtx_REG (SImode, REGNO (operands[2]));"
+   (set (match_dup 4) (unspec:SF [(match_dup 2)] UNSPEC_CVTQL))
+   (set (match_dup 5) (match_dup 4))]
+{
+  operands[4] = gen_rtx_REG (SFmode, REGNO (operands[2]));
+  operands[5] = adjust_address (operands[0], SFmode, 0);
+}
   [(set_attr "type" "fadd")
    (set_attr "trap" "yes")])
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]