This is the mail archive of the gcc-cvs@gcc.gnu.org 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]

r237183 - in /trunk/gcc: ChangeLog config/rs600...


Author: seurer
Date: Tue Jun  7 20:18:09 2016
New Revision: 237183

URL: https://gcc.gnu.org/viewcvs?rev=237183&root=gcc&view=rev
Log:
This patch adds support for the missing versions of the vec_mul altivec
builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for
Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins
that are missing and this is part of a series of patches to add them.

There aren't instructions for the {un}signed char, {un}signed short, and
{un}signed int versions of vec_mul so the output code is built from other
built-ins and operations that do have instructions.

The new test case is an executable test which verifies that the generated
code produces expected values. C macros were used so that the same
test case could be used for all the various supported types.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk?

[gcc]

2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/altivec.h: Add __builtin_vec_mul.
	* config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
	special case Altivec builtin.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
	VSX_BUILTIN_VEC_MUL (replaced with special case code).
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
	code for ALTIVEC_BUILTIN_VEC_MUL.
	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
	for __builtin_vec_mul.

[gcc/testsuite]

2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-mul.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/powerpc/vec-mul.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/altivec.h
    trunk/gcc/config/rs6000/rs6000-builtin.def
    trunk/gcc/config/rs6000/rs6000-c.c
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/testsuite/ChangeLog


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