unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

getisax(2)                       System Calls                       getisax(2)



NAME
       getisax - extract valid instruction set extensions

SYNOPSIS
       #include <&lt;sys/auxv.h>&gt;

       uint_t getisax(uint32_t *array, uint_t n);

DESCRIPTION
       The  getisax()  function  sets the vector array of n 32-bit integers to
       contain the bits from the AV_xxx_yyy namespace of the given instruction
       set architecture.

       Values for AV_xxx_yyy are as follows:

   SPARC
       AV_SPARC_MUL32          32x32-bit smul/umul is efficient



       AV_SPARC_DIV32          32x32-bit sdiv/udiv is efficient



       AV_SPARC_FSMULD         fsmuld instruction is efficient



       AV_SPARC_V8PLUS         V9 instructions available to 32-bit apps



       AV_SPARC_POPC           popc instruction is efficient



       AV_SPARC_VIS            VIS instruction set is supported



       AV_SPARC_VIS2           IS2 instruction set is supported



   x86
       AV_386_FPU              x87-style floating point



       AV_386_TSC              rdtsc instruction



       AV_386_CX8              cmpxchg8b instruction



       AV_386_SEP              sysenter and sysexit



       AV_386_AMD_SYSC         AMD's syscall and sysret



       AV_386_CMOV             conditional move instructions



       AV_386_MMX              MMX instructions



       AV_386_AMD_MMX          AMD's MMX instructions



       AV_386_AMD_3DNow        AMD's 3Dnow! instructions



       AV_386_AMD_3DNowx       AMD's 3Dnow! extended instructions



       AV_386_FXSR             fxsave and fxrstor



       AV_386_SSE              SSE instructions and regs



       AV_386_SSE2             SSE2 instructions and regs



       AV_386_PAUSE            use pause instruction (in spin loops)



       AV_386_SSE3             SSE3 instructions and regs



       AV_386_MON              monitor/mwait instructions



RETURN VALUES
       The  getisax()  function returns the number of array elements that con-
       tain non-zero values.

EXAMPLES
       Example 1: Use getisax() to determine if the SSE2  instruction  set  is
       present.

       In  the following example, if the message is written, the SSE2 instruc-
       tion set is present and fully supportred by the operating system.

       uint_t ui;

       (void) getisax(&ui, 1);

       if (ui & AV_386_SSE2)
               printf("SSE2 instruction set extension is present.\n");


ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).  ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStable
       MT-LevelSafe


SEE ALSO
       isainfo(1), ld(1), pargs(1), attributes(5)

       Linker and Libraries Guide

       SPARC Assembly Language Reference Manual

       x86 Assembly Language Reference Manual



SunOS 5.10                        4 Oct 2004                        getisax(2)