Do I have PCLMUL instruction set support?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
5
down vote

favorite












Here are the flags from /proc/cpuinfo:



fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf
pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid
sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida
arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid


I clearly have a pclmulqdq flag, but I'm not sure if it means PCLMUL instruction set support. How can I find what the flag means, or what flag PCLMUL corresponds to?










share|improve this question



























    up vote
    5
    down vote

    favorite












    Here are the flags from /proc/cpuinfo:



    fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
    clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
    constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf
    pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid
    sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida
    arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid


    I clearly have a pclmulqdq flag, but I'm not sure if it means PCLMUL instruction set support. How can I find what the flag means, or what flag PCLMUL corresponds to?










    share|improve this question

























      up vote
      5
      down vote

      favorite









      up vote
      5
      down vote

      favorite











      Here are the flags from /proc/cpuinfo:



      fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
      clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
      constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf
      pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid
      sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida
      arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid


      I clearly have a pclmulqdq flag, but I'm not sure if it means PCLMUL instruction set support. How can I find what the flag means, or what flag PCLMUL corresponds to?










      share|improve this question















      Here are the flags from /proc/cpuinfo:



      fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
      clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
      constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf
      pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid
      sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida
      arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid


      I clearly have a pclmulqdq flag, but I'm not sure if it means PCLMUL instruction set support. How can I find what the flag means, or what flag PCLMUL corresponds to?







      linux cpu proc x86






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Oct 14 '17 at 13:21









      Braiam

      22.8k1972133




      22.8k1972133










      asked Jun 23 '12 at 6:15









      daisy

      27.9k46162297




      27.9k46162297




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          3
          down vote



          accepted










          From the information available at Wikipedia and Intel, I'd assume that yes.



          From the Wikipedia entry:



          PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers 


          which matches the flag you have.






          share|improve this answer



























            up vote
            0
            down vote













            In the Intel 64 IA-32 Instruction Set Reference no listing is given for a PCLMUL instruction. However, Intel does list a PCLMULQDQ instruction described as follows:




            Description



            Performs a carry-less multiplication of two quadwords, selected from
            the first source and second source operand according to the value of
            the immediate byte. Bits 4 and 0 are used to select which 64-bit half
            of each operand to use according to Table 4-13, other bits of the
            immediate byte are ignored (Intel 64 IA-32 Instruction Set Reference, Volume II).




            So, when you see PCLMUL support assume it's just a shortened form of PCLMULQDQ. Instead of using two 64 bit registers to store the result of multiplying two 64 bit registers, the result is stored in one 128 bit register. Hence, the name carry-less multiplication. Other instructions would use two different registers to store the result and the assembly programmer would have to perform extra steps to figure out the final result for use in his program. But with carry-less multiplication, the result is store in one larger register. In this instruction (PCLMULQDQ), the result of two 64-bit numbers multiplied is stored in one 128 bit register. The Instruction uses the 128-bit XMM registers with CPUs that have such registers to use.






            share|improve this answer








            New contributor




            Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.

















              Your Answer







              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "106"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              convertImagesToLinks: false,
              noModals: false,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













               

              draft saved


              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f41437%2fdo-i-have-pclmul-instruction-set-support%23new-answer', 'question_page');

              );

              Post as a guest






























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              3
              down vote



              accepted










              From the information available at Wikipedia and Intel, I'd assume that yes.



              From the Wikipedia entry:



              PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers 


              which matches the flag you have.






              share|improve this answer
























                up vote
                3
                down vote



                accepted










                From the information available at Wikipedia and Intel, I'd assume that yes.



                From the Wikipedia entry:



                PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers 


                which matches the flag you have.






                share|improve this answer






















                  up vote
                  3
                  down vote



                  accepted







                  up vote
                  3
                  down vote



                  accepted






                  From the information available at Wikipedia and Intel, I'd assume that yes.



                  From the Wikipedia entry:



                  PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers 


                  which matches the flag you have.






                  share|improve this answer












                  From the information available at Wikipedia and Intel, I'd assume that yes.



                  From the Wikipedia entry:



                  PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers 


                  which matches the flag you have.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jun 23 '12 at 23:53









                  Renan

                  14.2k65274




                  14.2k65274






















                      up vote
                      0
                      down vote













                      In the Intel 64 IA-32 Instruction Set Reference no listing is given for a PCLMUL instruction. However, Intel does list a PCLMULQDQ instruction described as follows:




                      Description



                      Performs a carry-less multiplication of two quadwords, selected from
                      the first source and second source operand according to the value of
                      the immediate byte. Bits 4 and 0 are used to select which 64-bit half
                      of each operand to use according to Table 4-13, other bits of the
                      immediate byte are ignored (Intel 64 IA-32 Instruction Set Reference, Volume II).




                      So, when you see PCLMUL support assume it's just a shortened form of PCLMULQDQ. Instead of using two 64 bit registers to store the result of multiplying two 64 bit registers, the result is stored in one 128 bit register. Hence, the name carry-less multiplication. Other instructions would use two different registers to store the result and the assembly programmer would have to perform extra steps to figure out the final result for use in his program. But with carry-less multiplication, the result is store in one larger register. In this instruction (PCLMULQDQ), the result of two 64-bit numbers multiplied is stored in one 128 bit register. The Instruction uses the 128-bit XMM registers with CPUs that have such registers to use.






                      share|improve this answer








                      New contributor




                      Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.





















                        up vote
                        0
                        down vote













                        In the Intel 64 IA-32 Instruction Set Reference no listing is given for a PCLMUL instruction. However, Intel does list a PCLMULQDQ instruction described as follows:




                        Description



                        Performs a carry-less multiplication of two quadwords, selected from
                        the first source and second source operand according to the value of
                        the immediate byte. Bits 4 and 0 are used to select which 64-bit half
                        of each operand to use according to Table 4-13, other bits of the
                        immediate byte are ignored (Intel 64 IA-32 Instruction Set Reference, Volume II).




                        So, when you see PCLMUL support assume it's just a shortened form of PCLMULQDQ. Instead of using two 64 bit registers to store the result of multiplying two 64 bit registers, the result is stored in one 128 bit register. Hence, the name carry-less multiplication. Other instructions would use two different registers to store the result and the assembly programmer would have to perform extra steps to figure out the final result for use in his program. But with carry-less multiplication, the result is store in one larger register. In this instruction (PCLMULQDQ), the result of two 64-bit numbers multiplied is stored in one 128 bit register. The Instruction uses the 128-bit XMM registers with CPUs that have such registers to use.






                        share|improve this answer








                        New contributor




                        Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                        Check out our Code of Conduct.



















                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          In the Intel 64 IA-32 Instruction Set Reference no listing is given for a PCLMUL instruction. However, Intel does list a PCLMULQDQ instruction described as follows:




                          Description



                          Performs a carry-less multiplication of two quadwords, selected from
                          the first source and second source operand according to the value of
                          the immediate byte. Bits 4 and 0 are used to select which 64-bit half
                          of each operand to use according to Table 4-13, other bits of the
                          immediate byte are ignored (Intel 64 IA-32 Instruction Set Reference, Volume II).




                          So, when you see PCLMUL support assume it's just a shortened form of PCLMULQDQ. Instead of using two 64 bit registers to store the result of multiplying two 64 bit registers, the result is stored in one 128 bit register. Hence, the name carry-less multiplication. Other instructions would use two different registers to store the result and the assembly programmer would have to perform extra steps to figure out the final result for use in his program. But with carry-less multiplication, the result is store in one larger register. In this instruction (PCLMULQDQ), the result of two 64-bit numbers multiplied is stored in one 128 bit register. The Instruction uses the 128-bit XMM registers with CPUs that have such registers to use.






                          share|improve this answer








                          New contributor




                          Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.









                          In the Intel 64 IA-32 Instruction Set Reference no listing is given for a PCLMUL instruction. However, Intel does list a PCLMULQDQ instruction described as follows:




                          Description



                          Performs a carry-less multiplication of two quadwords, selected from
                          the first source and second source operand according to the value of
                          the immediate byte. Bits 4 and 0 are used to select which 64-bit half
                          of each operand to use according to Table 4-13, other bits of the
                          immediate byte are ignored (Intel 64 IA-32 Instruction Set Reference, Volume II).




                          So, when you see PCLMUL support assume it's just a shortened form of PCLMULQDQ. Instead of using two 64 bit registers to store the result of multiplying two 64 bit registers, the result is stored in one 128 bit register. Hence, the name carry-less multiplication. Other instructions would use two different registers to store the result and the assembly programmer would have to perform extra steps to figure out the final result for use in his program. But with carry-less multiplication, the result is store in one larger register. In this instruction (PCLMULQDQ), the result of two 64-bit numbers multiplied is stored in one 128 bit register. The Instruction uses the 128-bit XMM registers with CPUs that have such registers to use.







                          share|improve this answer








                          New contributor




                          Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.









                          share|improve this answer



                          share|improve this answer






                          New contributor




                          Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.









                          answered 30 mins ago









                          Henry Garcia

                          1




                          1




                          New contributor




                          Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.





                          New contributor





                          Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.






                          Henry Garcia is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.



























                               

                              draft saved


                              draft discarded















































                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f41437%2fdo-i-have-pclmul-instruction-set-support%23new-answer', 'question_page');

                              );

                              Post as a guest













































































                              Popular posts from this blog

                              How to check contact read email or not when send email to Individual?

                              Displaying single band from multi-band raster using QGIS

                              How many registers does an x86_64 CPU actually have?