gcc/gcc ChangeLog c-common.c hooks.c hooks.h t ...
janis@gcc.gnu.org
janis@gcc.gnu.org
Mon Aug 23 18:03:00 GMT 2004
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: janis@gcc.gnu.org 2004-08-23 18:03:14
Modified files:
gcc : ChangeLog c-common.c hooks.c hooks.h
target-def.h target.h tree.c tree.h
gcc/config : darwin.h
gcc/config/i386: darwin.h
gcc/config/rs6000: altivec.h darwin.h rs6000-c.c rs6000.c
rs6000.h
gcc/doc : extend.texi tm.texi
gcc/cp : ChangeLog Make-lang.in mangle.c tree.c
gcc/testsuite : ChangeLog
gcc/testsuite/g++.dg/ext: altivec-1.C
gcc/testsuite/gcc.dg: altivec-1.c altivec-10.c altivec-11.c
altivec-2.c altivec-3.c altivec-4.c
altivec-5.c altivec-7.c altivec-8.c
altivec-9.c altivec-varargs-1.c
gcc/testsuite/lib: target-supports.exp
Log message:
[gcc ChangeLog]
2004-08-23 Janis Johnson <janis187@us.ibm.com>
Backports from mainline:
2004-02-11 Ziemowit Laski <zlaski@apple.com>
2004-02-21 Ziemowit Laski <zlaski@apple.com>
2004-02-27 Ziemowit Laski <zlaski@apple.com>
2004-03-04 Ziemowit Laski <zlaski@apple.com>
2004-03-20 Ziemowit Laski <zlaski@apple.com>
2004-03-24 Ziemowit Laski <zlaski@apple.com>
2004-05-11 Fariborz Jahanian <fjahanian@apple.com>
2004-07-23 Janis Johnson <janis187@us.ibm.com>
2004-08-12 Janis Johnson <janis187@us.ibm.com>
2004-08-12 Ben Elliston <bje@au.ibm.com>
2004-08-16 Janis Johnson <janis187@us.ibm.com>
* c-common.c (vector_size_helper): Remove; call
reconstruct_complex_type() instead.
* hooks.c (hook_constcharptr_tree_null): New hook.
* hooks.h (hook_constcharptr_tree_null): New prototype.
* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
* target.h (mangle_fundamental_type): New target hook.
* tree.c (reconstruct_complex_type): New function
(formerly vector_size_helper() in c-common.c).
(make_vector): Make externally visible.
* tree.h (reconstruct_complex_type, make_vector): Add prototypes.
* doc/extend.texi (AltiVec builtins): Document additional differences
from the Motorola AltiVec PIM.
* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
* 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.
Change vector to __vector (except for the `vector' macro itself).
(__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.
(vec_splat_s8, vec_splat_s16, vec_splat_s32, vec_splat_u8,
vec_splat_u16, vec_splat_u32): Change C++ definitions to accept a
'const int' argument; the prototypes already do.
(vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_sld, vec_splat): Add
prototypes, marked with always_inline attribute.
* 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.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.
(rs6000_common_init_builtins): Rename v4si_ftype_char, v8hi_ftype_char,
v16qi_ftype_char, v4sf_ftype_v4si_char, v4si_ftype_v4sf_char,
v4si_ftype_v4si_char, v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
end in ..._int; change them to accept an int instead of a char
as the last parameter.
(altivec_expand_dst_builtin): Treat expansion as completed even if
literal argument is invalid (so that other expansions are not tried
in vain).
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Point target hook at
rs6000_mangle_fundamental_type.
(rs6000_mangle_fundamental_type): 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.
[gcc/cp ChangeLog]
2004-08-23 Janis Johnson <janis187@us.ibm.com>
Backports from mainline:
2004-02-27 Ziemowit Laski <zlaski@apple.com>
2004-03-24 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (cp/mangle.o): Depend on $(TARGET_H).
* mangle.c (write_type): Add call to 'mangle_fundamental_type'
target hook.
* tree.c (pod_type_p): Treat VECTOR_TYPEs as PODs.
[gcc/testsuite ChangeLog]
2004-08-23 Janis Johnson <janis187@us.ibm.com>
Backports from mainline, from several contributors.
* lib/target-supports.exp (check_vmx_hw_available): New.
* g++.dg/ext/altivec-1.C: XFAIL powerpc-ibm-aix. Correct dg syntax.
* gcc.dg/altivec-1.c: XFAIL powerpc-ibm-aix, powerpc-eabispe.
* gcc.dg/altivec-2.c: Generalize target.
* gcc.dg/altivec-3.c: XFAIL powerpc-ibm-aix, powerpc-eabispe.
Use vector_size attribute. Do runtime check for VMX hardware.
* gcc.dg/altivec-4.c: XFAIL powerpc-ibm-aix, powerpc-eabispe.
Use vector size attribute.
* gcc.dg/altivec-5.c: Generalize target.
* gcc.dg/altivec-7.c: XFAIL powerpc-ibm-aix. Replace long* with int*.
* gcc.dg/altivec-8.c: XFAIL powerpc-ibm-aix.
* gcc.dg/altivec-9.c: Generalize target.
* gcc.dg/altivec-10.c: XFAIL powerpc-ibm-aix and powerpc-eabispe.
* gcc.dg/altivec-11.c: Ditto.
* gcc.dg/altivec-varargs-1.c: Ditto.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.586&r2=2.2326.2.587
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.476.4.7&r2=1.476.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.22.10.1&r2=1.22.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.23.10.1&r2=1.23.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.63.4.2&r2=1.63.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.74.2.3&r2=1.74.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.342.2.4&r2=1.342.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.458.2.4&r2=1.458.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/darwin.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.65.4.1&r2=1.65.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/darwin.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.9&r2=1.9.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/altivec.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.25.4.3&r2=1.25.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/darwin.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.45.4.2&r2=1.45.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000-c.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.10&r2=1.10.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.576.2.30&r2=1.576.2.31
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.306.4.11&r2=1.306.4.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/extend.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.177.4.13&r2=1.177.4.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.281.2.15&r2=1.281.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3892.2.149&r2=1.3892.2.150
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/Make-lang.in.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.174.2.3&r2=1.174.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/mangle.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.95.2.4&r2=1.95.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.360.4.7&r2=1.360.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.253&r2=1.3389.2.254
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/altivec-1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.24.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.4&r2=1.4.56.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-10.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.14.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-11.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1.4.1&r2=1.1.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-2.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3&r2=1.3.54.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-3.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.78.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-4.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.6&r2=1.6.72.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-5.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.62.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-7.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.62.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-8.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.62.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-9.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.24.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/altivec-varargs-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.2&r2=1.2.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/lib/target-supports.exp.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.9.4.4&r2=1.9.4.5
More information about the Gcc-cvs
mailing list