On Fri, Sep 25, 2015 at 02:59:41PM +0100, Dominik Vogt wrote: > The following set of two patches implements the function > __attribute__ ((target("..."))) and the corresponding #pragma GCC > target("...") on S/390. It comes with certain limitations: > > * It is not possible to change any options that affect the ABI or > the definition of target macros by using the attribute (vx, > htm, zarch and others). Some of them are still supported but > unable to change the definition of the corresponding target macros. > In these cases, the pragma has to be used. One reason for this > is that it is not possible to change the definition of the target > macros with the attribute, but the implementation of some features > relies on them. > > * Even with the pragma it is not possible to switch between zarch > and esa architecture because internal data typed would have to be > changed at Gcc run time. > > The second patch contains a long term change in the interface with > the assembler. Currently, the compiler wrapper passes the same > -march= and -mtune= options to the compiler and the assembler. > The patch makes this obsolete by emitting ".machine" and > ".machinemode" dirctives to the top of the assembly language file. > The old way ist still supported but may be removed once the > ".machine" feature is supported by all as versions in the field. > > The second patch depends on the first one, and both require the > (latest) change proposed in this thread: > https://gcc.gnu.org/ml/gcc-patches/2015-09/msg01546.html This is an updated version of patch 1 that uses existing hooks and works without any change to common code. (Second patch is unchanged). Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany