Alpha Built-in Functions (Using the GNU Compiler Collection (GCC))

#### 7.13.2 Alpha Built-in Functions ¶

These built-in functions are available for the Alpha family of processors, depending on the command-line switches used.

The following built-in functions are always available. They all generate the machine instruction that is part of the name.

    long __builtin_alpha_implver (void);
    long __builtin_alpha_rpcc (void);
    long __builtin_alpha_amask (long);
    long __builtin_alpha_cmpbge (long, long);
    long __builtin_alpha_extbl (long, long);
    long __builtin_alpha_extwl (long, long);
    long __builtin_alpha_extll (long, long);
    long __builtin_alpha_extql (long, long);
    long __builtin_alpha_extwh (long, long);
    long __builtin_alpha_extlh (long, long);
    long __builtin_alpha_extqh (long, long);
    long __builtin_alpha_insbl (long, long);
    long __builtin_alpha_inswl (long, long);
    long __builtin_alpha_insll (long, long);
    long __builtin_alpha_insql (long, long);
    long __builtin_alpha_inswh (long, long);
    long __builtin_alpha_inslh (long, long);
    long __builtin_alpha_insqh (long, long);
    long __builtin_alpha_mskbl (long, long);
    long __builtin_alpha_mskwl (long, long);
    long __builtin_alpha_mskll (long, long);
    long __builtin_alpha_mskql (long, long);
    long __builtin_alpha_mskwh (long, long);
    long __builtin_alpha_msklh (long, long);
    long __builtin_alpha_mskqh (long, long);
    long __builtin_alpha_umulh (long, long);
    long __builtin_alpha_zap (long, long);
    long __builtin_alpha_zapnot (long, long);

The following built-in functions are always with `-mmax` or `-mcpu=cpu` where cpu is `pca56` or later. They all generate the machine instruction that is part of the name.

    long __builtin_alpha_pklb (long);
    long __builtin_alpha_pkwb (long);
    long __builtin_alpha_unpkbl (long);
    long __builtin_alpha_unpkbw (long);
    long __builtin_alpha_minub8 (long, long);
    long __builtin_alpha_minsb8 (long, long);
    long __builtin_alpha_minuw4 (long, long);
    long __builtin_alpha_minsw4 (long, long);
    long __builtin_alpha_maxub8 (long, long);
    long __builtin_alpha_maxsb8 (long, long);
    long __builtin_alpha_maxuw4 (long, long);
    long __builtin_alpha_maxsw4 (long, long);
    long __builtin_alpha_perr (long, long);

The following built-in functions are always with `-mcix` or `-mcpu=cpu` where cpu is `ev67` or later. They all generate the machine instruction that is part of the name.

    long __builtin_alpha_cttz (long);
    long __builtin_alpha_ctlz (long);
    long __builtin_alpha_ctpop (long);

The following built-in functions are available on systems that use the OSF/1 PALcode. Normally they invoke the `rduniq` and `wruniq` PAL calls, but when invoked with `-mtls-kernel`, they invoke `rdval` and `wrval`.

    void *__builtin_thread_pointer (void);
    void __builtin_set_thread_pointer (void *);