darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to SUBTARGET_OPTION_TRANSLATE_TABLE...
commit8bb418a3d5c47572c382c7b8f195526247c02a1f
authorZiemowit Laski <zlaski@apple.com>
Sat, 21 Feb 2004 09:08:37 +0000 (21 09:08 +0000)
committerZiemowit Laski <zlaski@gcc.gnu.org>
Sat, 21 Feb 2004 09:08:37 +0000 (21 09:08 +0000)
tree8bd6d09894d4d7c86a92f0efa79eaed29b427518
parent06a419ffdb7cc68db677bf524008038934ace4ed
darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.

[gcc/ChangeLog]
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.

[gcc/testsuite/ChangeLog]
2004-02-21  Ziemowit Laski  <zlaski@apple.com>

        * g++.dg/ext/altivec-1.C: Generalize target triple.
        * g++.dg/ext/altivec-2.C: New test case.
        * g++.dg/ext/altivec_check.h: New file.
        * gcc.dg/altivec-1.c: Generalize target triple;
        include altivec_check.h and call altivec_check().
        * gcc.dg/altivec-[2-5].c: Generalize target triple.
        * gcc.dg/altivec-6.c: New test case.
        * gcc.dg/altivec-[7-9].c: Generalize target triple; add
        type casts as needed.
        * gcc.dg/altivec-10.c: Include altivec_check.h and call
        altivec_check().
        * gcc.dg/altivec-12.c: New test case.
        * gcc.dg/altivec-varargs-1.c: Generalize target triple;
        include altivec_check.h and call altivec_check().
        * gcc.dg/altivec_check.h: New file.

From-SVN: r78215
27 files changed:
gcc/ChangeLog
gcc/config/darwin.h
gcc/config/i386/darwin.h
gcc/config/rs6000/altivec.h
gcc/config/rs6000/darwin.h
gcc/config/rs6000/rs6000-c.c
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/altivec-1.C
gcc/testsuite/g++.dg/ext/altivec-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/altivec_check.h [new file with mode: 0644]
gcc/testsuite/gcc.dg/altivec-1.c
gcc/testsuite/gcc.dg/altivec-10.c
gcc/testsuite/gcc.dg/altivec-12.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/altivec-2.c
gcc/testsuite/gcc.dg/altivec-3.c
gcc/testsuite/gcc.dg/altivec-4.c
gcc/testsuite/gcc.dg/altivec-5.c
gcc/testsuite/gcc.dg/altivec-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/altivec-7.c
gcc/testsuite/gcc.dg/altivec-8.c
gcc/testsuite/gcc.dg/altivec-9.c
gcc/testsuite/gcc.dg/altivec-varargs-1.c
gcc/testsuite/gcc.dg/altivec_check.h [new file with mode: 0644]
libf2c/libI77/config.h.in
libf2c/libU77/config.hin