[PATCH,rs6000] PR79395: Fix compile error with -mcpu=power9 and -mno-vsx and __builtin_vec_cmpne_p

Bill Schmidt wschmidt@linux.vnet.ibm.com
Thu Mar 2 19:21:00 GMT 2017


Fixed as r245849.  Thanks...

-- Bill

Bill Schmidt, Ph.D.
GCC for Linux on Power
Linux on Power Toolchain
IBM Linux Technology Center
wschmidt@linux.vnet.ibm.com

> On Mar 2, 2017, at 11:33 AM, Bill Schmidt <wschmidt@linux.vnet.ibm.com> wrote:
> 
> Hi Andreas,
> 
> We discovered the problem this morning in-house and are working on a patch.
> 
> -- Bill
> 
> Bill Schmidt, Ph.D.
> GCC for Linux on Power
> Linux on Power Toolchain
> IBM Linux Technology Center
> wschmidt@linux.vnet.ibm.com
> 
>> On Mar 2, 2017, at 11:25 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> 
>> ../../gcc/config/rs6000/vector.md:721:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>> 
>>    UNSPEC_PREDICATE))
>>    ~~~~~~~~~^~~~~~~~~    
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ne_v8hi_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:721:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>    UNSPEC_PREDICATE))
>>    ~~~~~~~~~^~~~~~~~~    
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ne_v16qi_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:721:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>    UNSPEC_PREDICATE))
>>    ~~~~~~~~~^~~~~~~~~    
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ae_v4si_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:743:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>         [(match_operand:VI 1 "vlogical_operand")
>>         ~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ae_v8hi_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:743:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>         [(match_operand:VI 1 "vlogical_operand")
>>         ~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ae_v16qi_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:743:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>         [(match_operand:VI 1 "vlogical_operand")
>>         ~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ne_v2di_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:784:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>  [(parallel
>>    ~~~~~~~~ ^            
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ae_v2di_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:810:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>    [(set (reg:CC CR6_REGNO)
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ne_v4sf_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:832:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>    [(set (reg:CC CR6_REGNO)
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ne_v2df_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:832:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>    [(set (reg:CC CR6_REGNO)
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ae_v4sf_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:857:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>   (gt:VEC_A (match_dup 1)
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vector.md: In function 'rtx_def* gen_vector_ae_v2df_p(rtx, rtx, rtx)':
>> ../../gcc/config/rs6000/vector.md:857:14: error: 'operands[3]' is used uninitialized in this function [-Werror=uninitialized]
>>   (gt:VEC_A (match_dup 1)
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vsx.md: In function 'rtx_def* gen_vsx_tsqrtdf2_fg(rtx, rtx)':
>> ../../gcc/config/rs6000/vsx.md:1402:14: error: 'operands[2]' is used uninitialized in this function [-Werror=uninitialized]
>>   (set (match_operand:SI 0 "gpc_reg_operand" "")
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vsx.md: In function 'rtx_def* gen_vsx_tsqrtv4sf2_fg(rtx, rtx)':
>> ../../gcc/config/rs6000/vsx.md:1402:14: error: 'operands[2]' is used uninitialized in this function [-Werror=uninitialized]
>>   (set (match_operand:SI 0 "gpc_reg_operand" "")
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vsx.md: In function 'rtx_def* gen_vsx_tsqrtv2df2_fg(rtx, rtx)':
>> ../../gcc/config/rs6000/vsx.md:1402:14: error: 'operands[2]' is used uninitialized in this function [-Werror=uninitialized]
>>   (set (match_operand:SI 0 "gpc_reg_operand" "")
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vsx.md: In function 'rtx_def* gen_vsx_tsqrtdf2_fe(rtx, rtx)':
>> ../../gcc/config/rs6000/vsx.md:1415:14: error: 'operands[2]' is used uninitialized in this function [-Werror=uninitialized]
>>  "x<VSv>tsqrt<VSs> %0,%x1"
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vsx.md: In function 'rtx_def* gen_vsx_tsqrtv4sf2_fe(rtx, rtx)':
>> ../../gcc/config/rs6000/vsx.md:1415:14: error: 'operands[2]' is used uninitialized in this function [-Werror=uninitialized]
>>  "x<VSv>tsqrt<VSs> %0,%x1"
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> ../../gcc/config/rs6000/vsx.md: In function 'rtx_def* gen_vsx_tsqrtv2df2_fe(rtx, rtx)':
>> ../../gcc/config/rs6000/vsx.md:1415:14: error: 'operands[2]' is used uninitialized in this function [-Werror=uninitialized]
>>  "x<VSv>tsqrt<VSs> %0,%x1"
>>    ~~~~~~~~~^~~~~~~~~~~~~
>> 
>> Andreas.
>> 
>> -- 
>> Andreas Schwab, schwab@linux-m68k.org
>> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
>> "And now for something completely different."
>> 
> 



More information about the Gcc-patches mailing list