Do I have PCLMUL instruction set support?
Clash 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?
linux cpu proc x86
add a comment |Â
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?
linux cpu proc x86
add a comment |Â
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?
linux cpu proc x86
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
linux cpu proc x86
edited Oct 14 '17 at 13:21
Braiam
22.8k1972133
22.8k1972133
asked Jun 23 '12 at 6:15
daisy
27.9k46162297
27.9k46162297
add a comment |Â
add a comment |Â
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.
add a comment |Â
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.
New contributor
add a comment |Â
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.
add a comment |Â
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.
add a comment |Â
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.
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.
answered Jun 23 '12 at 23:53
Renan
14.2k65274
14.2k65274
add a comment |Â
add a comment |Â
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.
New contributor
add a comment |Â
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.
New contributor
add a comment |Â
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.
New contributor
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.
New contributor
New contributor
answered 30 mins ago
Henry Garcia
1
1
New contributor
New contributor
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password