#### 6.33.29 S/390 Function Attributes

These function attributes are supported on the S/390:

`hotpatch (halfwords-before-function-label,halfwords-after-function-label)`

  On S/390 System z targets, you can use this function attribute to make GCC generate a “hot-patching” function prologue. If the `-mhotpatch=` command-line option is used at the same time, the `hotpatch` attribute takes precedence. The first of the two arguments specifies the number of halfwords to be added before the function label. A second argument can be used to specify the number of halfwords to be added after the function label. For both arguments the maximum allowed value is 1000000.

  If both arguments are zero, hotpatching is disabled.

`target (options)`

  As discussed in Common Function Attributes, this attribute allows specification of target-specific compilation options.

  On S/390, the following options are supported:

  ‘`arch=`’
  ‘`tune=`’
  ‘`stack-guard=`’
  ‘`stack-size=`’
  ‘`branch-cost=`’
  ‘`warn-framesize=`’
  ‘`backchain`’
  ‘`no-backchain`’
  ‘`hard-dfp`’
  ‘`no-hard-dfp`’
  ‘`hard-float`’
  ‘`soft-float`’
  ‘`htm`’
  ‘`no-htm`’
  ‘`vx`’
  ‘`no-vx`’
  ‘`packed-stack`’
  ‘`no-packed-stack`’
  ‘`small-exec`’
  ‘`no-small-exec`’
  ‘`mvcle`’
  ‘`no-mvcle`’
  ‘`warn-dynamicstack`’
  ‘`no-warn-dynamicstack`’

  The options work exactly like the S/390 specific command line options (without the prefix `-m`) except that they do not change any feature macros. For example,

      target("no-vx")

  does not undefine the `__VEC__` macro.