public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [tree-ssa] recent C++ Altivec breakage?
@ 2004-03-04  5:54 Timothy J. Wood
  2004-03-04  7:08 ` Andrew Pinski
  0 siblings, 1 reply; 7+ messages in thread
From: Timothy J. Wood @ 2004-03-04  5:54 UTC (permalink / raw)
  To: gcc



   Sometime recently the Altivec splat instructions seem to have gone 
south:

<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14425>
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14426>

   This was working a week or so ago and I was hoping to retest the 
example that caused me to log 
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042> a while back (now 
that it is supposedly fixed).  Unfortunately, I can't build even fairly 
simple Altivec programs with tree-ssa right now.

-tim

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [tree-ssa] recent C++ Altivec breakage?
  2004-03-04  5:54 [tree-ssa] recent C++ Altivec breakage? Timothy J. Wood
@ 2004-03-04  7:08 ` Andrew Pinski
  2004-03-04 16:47   ` Timothy J. Wood
  2004-03-04 19:42   ` Ziemowit Laski
  0 siblings, 2 replies; 7+ messages in thread
From: Andrew Pinski @ 2004-03-04  7:08 UTC (permalink / raw)
  To: Ziemowit Laski, Timothy J. Wood; +Cc: gcc List, Andrew Pinski


On Mar 3, 2004, at 21:54, Timothy J. Wood wrote:

>
>
>   Sometime recently the Altivec splat instructions seem to have gone 
> south:
>
> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14425>
> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14426>
>
>   This was working a week or so ago and I was hoping to retest the 
> example that caused me to log 
> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042> a while back (now 
> that it is supposedly fixed).  Unfortunately, I can't build even 
> fairly simple Altivec programs with tree-ssa right now.

Both of these were broken by:
2004-02-21  Ziemowit Laski  <zlaski@apple.com>

         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
         SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific 
options.
         * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): 
Define it.
         * config/rs6000/altivec.h: #error out if '-maltivec' not 
specified.
         (vector, pixel, bool): #define to __vector, __pixel and __bool.
         (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to 
C-specific
         portion of header.
         (__altivec_link_error_invalid_argument): Remove prototype; will 
use
         __builtin_altivec_compiletime_error("vec_*") instead.
         (vec_*): Fix/complete set of available operation overloads 
given the
         existence of distinct 'vector bool ...' and 'vector pixel' 
types; tighten
         cv-correctness of pointer arguments; in C, always check for 
correct
         argument types before macro expansion.
         * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): 
New macro
         defining Darwin/PowerPC-specific '-f[no-]altivec' and
         '-W[no-]altivec-long-deprecated' switches.
         * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
         '__vector', '__pixel' and '__bool' macros using
         '__attribute__((altivec(...)))' types.
         * config/rs6000/rs6000.c (bool_char_type_node, 
bool_short_type_node,
         bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
         bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
         New type nodes.
         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): 
New, for
         handling '-W[no-]altivec-long-deprecated'.
         (rs6000_override_options): Handle 
'-W[no-]altivec-long-deprecated'.
         (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
         altivec_expand_dst_builtin): Remove casts from integer literals.
         (altivec_expand_builtin): Likewise; handle expansion of new
         '__builtin_altivec_compiletime_error' function.
         (rs6000_init_builtins): Initialize 'vector bool ...' and 
'vector pixel'
         types, and make them distinct from other vector types; register
         '__builtin_altivec_compiletime_error' function.
         (print_operand): For 'P', print a full target register name 
instead of
         merely its number.
         (rs6000_attribute_table): Add "altivec" attribute.
         (rs6000_handle_altivec_attribute): New function.
         * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
         '-m[no-]-warn-altivec-long' (which 
'-W[no-]altivec-long-deprecated'
         maps to).
         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): 
Forward
         declare.
         (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.


Thanks,
Andrew Pinski

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [tree-ssa] recent C++ Altivec breakage?
  2004-03-04  7:08 ` Andrew Pinski
@ 2004-03-04 16:47   ` Timothy J. Wood
  2004-03-05 20:36     ` Jim Wilson
  2004-03-04 19:42   ` Ziemowit Laski
  1 sibling, 1 reply; 7+ messages in thread
From: Timothy J. Wood @ 2004-03-04 16:47 UTC (permalink / raw)
  To: Andrew Pinski; +Cc: Ziemowit Laski, gcc List


On Wednesday, March 3, 2004, at 11:08  PM, Andrew Pinski wrote:

>
> On Mar 3, 2004, at 21:54, Timothy J. Wood wrote:
>
>>
>>
>>   Sometime recently the Altivec splat instructions seem to have gone 
>> south:
>>
>> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14425>
>> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14426>
>>
>>   This was working a week or so ago and I was hoping to retest the 
>> example that caused me to log 
>> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042> a while back (now 
>> that it is supposedly fixed).  Unfortunately, I can't build even 
>> fairly simple Altivec programs with tree-ssa right now.
>
> Both of these were broken by:
> 2004-02-21  Ziemowit Laski  <zlaski@apple.com>

   So I guess this answers a question I had -- apparently Apple doesn't 
have an internal (more comprehensive) Altivec test suite.  Does 
Motorola or IBM have a test suite that could be used or would a 
volunteer need to build one?

   It seems reasonable to expect a minimal test suite to at least:

- Call every PIM-specified function at least once, checking the output
	- Pseudo things like vec_splat
	- 'Real' instructions like vec_vspltisw
- Test error reporting for inputs (non-const arguments)

-tim

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [tree-ssa] recent C++ Altivec breakage?
  2004-03-04  7:08 ` Andrew Pinski
  2004-03-04 16:47   ` Timothy J. Wood
@ 2004-03-04 19:42   ` Ziemowit Laski
  1 sibling, 0 replies; 7+ messages in thread
From: Ziemowit Laski @ 2004-03-04 19:42 UTC (permalink / raw)
  To: Timothy J. Wood; +Cc: gcc List, Andrew Pinski

Tim, I'll take a look at these pronto.  Sorry for the inconvenience.

--Zem

On 3 Mar, 2004, at 23.08, Andrew Pinski wrote:

>
> On Mar 3, 2004, at 21:54, Timothy J. Wood wrote:
>
>>
>>
>>   Sometime recently the Altivec splat instructions seem to have gone 
>> south:
>>
>> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14425>
>> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14426>
>>
>>   This was working a week or so ago and I was hoping to retest the 
>> example that caused me to log 
>> <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042> a while back (now 
>> that it is supposedly fixed).  Unfortunately, I can't build even 
>> fairly simple Altivec programs with tree-ssa right now.
>
> Both of these were broken by:
> 2004-02-21  Ziemowit Laski  <zlaski@apple.com>
>
>         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
>         SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific 
> options.
>         * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): 
> Define it.
>         * config/rs6000/altivec.h: #error out if '-maltivec' not 
> specified.
>         (vector, pixel, bool): #define to __vector, __pixel and __bool.
>         (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to 
> C-specific
>         portion of header.
>         (__altivec_link_error_invalid_argument): Remove prototype; 
> will use
>         __builtin_altivec_compiletime_error("vec_*") instead.
>         (vec_*): Fix/complete set of available operation overloads 
> given the
>         existence of distinct 'vector bool ...' and 'vector pixel' 
> types; tighten
>         cv-correctness of pointer arguments; in C, always check for 
> correct
>         argument types before macro expansion.
>         * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): 
> New macro
>         defining Darwin/PowerPC-specific '-f[no-]altivec' and
>         '-W[no-]altivec-long-deprecated' switches.
>         * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
>         '__vector', '__pixel' and '__bool' macros using
>         '__attribute__((altivec(...)))' types.
>         * config/rs6000/rs6000.c (bool_char_type_node, 
> bool_short_type_node,
>         bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
>         bool_V8HI_type_node, bool_V4SI_type_node, 
> pixel_V8HI_type_node):
>         New type nodes.
>         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): 
> New, for
>         handling '-W[no-]altivec-long-deprecated'.
>         (rs6000_override_options): Handle 
> '-W[no-]altivec-long-deprecated'.
>         (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
>         altivec_expand_dst_builtin): Remove casts from integer 
> literals.
>         (altivec_expand_builtin): Likewise; handle expansion of new
>         '__builtin_altivec_compiletime_error' function.
>         (rs6000_init_builtins): Initialize 'vector bool ...' and 
> 'vector pixel'
>         types, and make them distinct from other vector types; register
>         '__builtin_altivec_compiletime_error' function.
>         (print_operand): For 'P', print a full target register name 
> instead of
>         merely its number.
>         (rs6000_attribute_table): Add "altivec" attribute.
>         (rs6000_handle_altivec_attribute): New function.
>         * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
>         '-m[no-]-warn-altivec-long' (which 
> '-W[no-]altivec-long-deprecated'
>         maps to).
>         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): 
> Forward
>         declare.
>         (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
>
>
> Thanks,
> Andrew Pinski
>
>
--------------------------------------------------------------
Ziemowit Laski                 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group        Cupertino, CA USA  95014-2083
Apple Computer, Inc.           +1.408.974.6229  Fax .5477

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [tree-ssa] recent C++ Altivec breakage?
  2004-03-04 16:47   ` Timothy J. Wood
@ 2004-03-05 20:36     ` Jim Wilson
  2004-03-05 20:58       ` Zack Weinberg
  2004-03-07 18:33       ` Aldy Hernandez
  0 siblings, 2 replies; 7+ messages in thread
From: Jim Wilson @ 2004-03-05 20:36 UTC (permalink / raw)
  To: Timothy J. Wood; +Cc: Ziemowit Laski, gcc List

Timothy J. Wood wrote:
> have an internal (more comprehensive) Altivec test suite.  Does Motorola 
> or IBM have a test suite that could be used or would a volunteer need to 
> build one?

Motorola has nice testsuites for both Altivec and SPE.  When I was at 
Red Hat, I asked if they could be contributed or made publicly 
available.  I left not long afterwards, so I don't know what happened.

By the way, Zack of CodeSourcery tried to contribute a version of the 
Motorola Altivec testsuite, but I pointed out that it was copyright 
Motorola, and we couldn't distribute it without their permission, so it 
did not go in.  See
     http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01391.html
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [tree-ssa] recent C++ Altivec breakage?
  2004-03-05 20:36     ` Jim Wilson
@ 2004-03-05 20:58       ` Zack Weinberg
  2004-03-07 18:33       ` Aldy Hernandez
  1 sibling, 0 replies; 7+ messages in thread
From: Zack Weinberg @ 2004-03-05 20:58 UTC (permalink / raw)
  To: Jim Wilson; +Cc: Timothy J. Wood, Ziemowit Laski, gcc List

Jim Wilson <wilson@specifixinc.com> writes:

> By the way, Zack of CodeSourcery tried to contribute a version of the
> Motorola Altivec testsuite, but I pointed out that it was copyright
> Motorola, and we couldn't distribute it without their permission, so
> it did not go in.  See
>      http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01391.html

I did find out who to ask at Motorola, and sent them mail periodically
for about three months before giving up.  Never heard a word.

zw

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [tree-ssa] recent C++ Altivec breakage?
  2004-03-05 20:36     ` Jim Wilson
  2004-03-05 20:58       ` Zack Weinberg
@ 2004-03-07 18:33       ` Aldy Hernandez
  1 sibling, 0 replies; 7+ messages in thread
From: Aldy Hernandez @ 2004-03-07 18:33 UTC (permalink / raw)
  To: Jim Wilson; +Cc: Timothy J. Wood, Ziemowit Laski, gcc List

>>>>> "Jim" == Jim Wilson <wilson@specifixinc.com> writes:

 > Timothy J. Wood wrote:
 >> have an internal (more comprehensive) Altivec test suite.  Does
 >> Motorola or IBM have a test suite that could be used or would a
 >> volunteer need to build one?

 > Motorola has nice testsuites for both Altivec and SPE.  When I was at
 > Red Hat, I asked if they could be contributed or made publicly
 > available.  I left not long afterwards, so I don't know what happened.

 > By the way, Zack of CodeSourcery tried to contribute a version of the
 > Motorola Altivec testsuite, but I pointed out that it was copyright
 > Motorola, and we couldn't distribute it without their permission, so
 > it did not go in.  See

It was my understanding there were both GPL'ed, but needed to be
brought into the dejagnu framework.

Aldy

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-03-07 18:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-04  5:54 [tree-ssa] recent C++ Altivec breakage? Timothy J. Wood
2004-03-04  7:08 ` Andrew Pinski
2004-03-04 16:47   ` Timothy J. Wood
2004-03-05 20:36     ` Jim Wilson
2004-03-05 20:58       ` Zack Weinberg
2004-03-07 18:33       ` Aldy Hernandez
2004-03-04 19:42   ` Ziemowit Laski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).