This is the mail archive of the 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: [patch 4/N][rs6000, cft] -mfused-add cleanup

On 11/13/2010 04:14 PM, Richard Henderson wrote:
> On 11/11/2010 12:06 PM, Michael Meissner wrote:
>> gcc.dg/var-expand3.c is a function using Altivec fused multiply/add
>> instructions, and the loop unroller would unroll loops with (plus (mult (..)))
>> but not (fma ...).  The code is analyze_insn_to_expand_var in loop-unroll.c
>> where it doesn't realize fma is a loop accumulator.  I imagine it is probably
>> simple to fix this function.
> Fixed by 
> as yet unreviewed.
>>{2,4}.c are failing because they use
>> -mno-fused-madd, and the compiler gives a new warning that isn't accounted
>> for.  Obviously we just need to switch to use -ffp-contract=off for these two
>> tests (or add the warning message).
> Fixed here.
>> gfortran.fortran-torture/execute/in-pack.f90 is getting an internal compiler
>> error when -maltivec is used:
>> /home/meissner/fsf-src/rth/gcc/testsuite/gfortran.fortran-torture/execute/in-pack.f90: In function 'csub4':
>> /home/meissner/fsf-src/rth/gcc/testsuite/gfortran.fortran-torture/execute/in-pack.f90:59:0: error: unrecognizable insn:
>> (insn 395 394 396 45 (set (reg:V4SF 592)
>>         (fma:V4SF (reg:V4SF 363 [ vect_var_.731 ])
>>             (reg:V4SF 593)
>>             (reg:V4SI 594))) /home/meissner/fsf-src/rth/gcc/testsuite/gfortran.fortran-torture/execute/in-pack.f90:55 -1
>>      (expr_list:REG_EQUAL (mult:V4SF (reg:V4SF 363 [ vect_var_.731 ])
>>             (reg:V4SF 593))
>>         (nil)))
> Fixed here.  A silly mistake converting the altivec mulv4sf pattern.


Attachment: d-ppc-3
Description: Text document

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