Interface CPUInfo

    • Method Detail

      • getVendor

        String getVendor()
        Returns:
        A string indicating the vendor of the CPU.
      • getCPUModelString

        String getCPUModelString()
                          throws UnknownCPUException
        Returns:
        A string detailing what type of CPU that is present in the machine. I.e. 'Pentium IV' etc.
        Throws:
        UnknownCPUException - If for any reason the retrieval of the requested information failed. The message encapsulated in the execption indicates the cause of the failure.
      • hasMMX

        boolean hasMMX()
        Returns:
        true iff the CPU supports the MMX instruction set.
      • hasSSE

        boolean hasSSE()
        Returns:
        true iff the CPU supports the SSE instruction set.
      • hasSSE2

        boolean hasSSE2()
        Returns:
        true iff the CPU supports the SSE2 instruction set.
      • hasSSE3

        boolean hasSSE3()
        Returns:
        true iff the CPU supports the SSE3 instruction set.
      • hasSSE41

        boolean hasSSE41()
        Returns:
        true iff the CPU supports the SSE4.1 instruction set.
      • hasSSE42

        boolean hasSSE42()
        Returns:
        true iff the CPU supports the SSE4.2 instruction set.
      • hasSSE4A

        boolean hasSSE4A()
        AMD K10 only. Not supported on Intel. ref: https://en.wikipedia.org/wiki/SSE4.2#SSE4a
        Returns:
        true iff the CPU supports the SSE4A instruction set.
      • hasAVX

        boolean hasAVX()
        Returns:
        true iff the CPU supports the AVX instruction set.
        Since:
        0.9.26
      • hasAVX2

        boolean hasAVX2()
        Returns:
        true iff the CPU supports the AVX2 instruction set.
        Since:
        0.9.26
      • hasAVX512

        boolean hasAVX512()
        Does the CPU supports the AVX-512 Foundation instruction set? Quote wikipedia: AVX-512 consists of multiple extensions not all meant to be supported by all processors implementing them. Only the core extension AVX-512F (AVX-512 Foundation) is required by all implementations. ref: https://en.wikipedia.org/wiki/AVX-512
        Returns:
        true iff the CPU supports the AVX-512 Foundation instruction set.
        Since:
        0.9.26
      • hasADX

        boolean hasADX()
        Intel Multi-Precision Add-Carry Instruction Extensions Available in Broadwell. Unused until GMP 6.1.
        Returns:
        true iff the CPU supports the ADX instruction set.
        Since:
        0.9.26
      • hasTBM

        boolean hasTBM()
        Trailing Bit Manipulation (AMD feature)
        Returns:
        true iff the CPU supports TBM.
        Since:
        0.9.26, broken before 0.9.35, fixed in 0.9.35
      • hasAES

        boolean hasAES()
        Returns:
        true iff the CPU supports the AES-NI instruction set.
        Since:
        0.9.14
      • hasX64

        boolean hasX64()
        Returns:
        true iff the CPU supports the 64-bit support
        Since:
        0.9.26
      • hasBMI1

        boolean hasBMI1()
        Returns:
        true iff the CPU supports the BMI1 instruction set.
        Since:
        0.9.26
      • hasBMI2

        boolean hasBMI2()
        Returns:
        true iff the CPU supports the BMI2 instruction set.
        Since:
        0.9.26
      • hasFMA3

        boolean hasFMA3()
        Returns:
        true iff the CPU supports the FMA3 instruction set.
        Since:
        0.9.26
      • hasMOVBE

        boolean hasMOVBE()
        Returns:
        true iff the CPU supports the MOVBE instruction set.
        Since:
        0.9.26
      • hasABM

        boolean hasABM()
        Also known as LZCNT
        Returns:
        true iff the CPU supports the ABM instruction set.
        Since:
        0.9.26