Re: [libav-devel] [PATCH 0/3] support for FMA3 and BMI intruction sets

2014-02-22 Thread Luca Barbato
On 22/02/14 06:53, James Almer wrote:
 These are the missing instruction sets introduced with Haswell/Piledriver 
 CPUs.
 
 Last two patches are based on x264 detection code.

The set doesn't look bad at all but I'm wondering about it's usage:

 James Almer (3):
   x86: add missing XOP checks and macros
   x86: add detection for FMA3 instruction set

Which is the relationship between FMA3 and FMA4 ?

   x86: add detection for Bit Manipulation Instruction sets

Is BMI a subset of AVX2?

lu
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


Re: [libav-devel] [PATCH 0/3] support for FMA3 and BMI intruction sets

2014-02-22 Thread James Almer
On 22/02/14 1:29 PM, Luca Barbato wrote:
 On 22/02/14 06:53, James Almer wrote:
 These are the missing instruction sets introduced with Haswell/Piledriver 
 CPUs.

 Last two patches are based on x264 detection code.
 
 The set doesn't look bad at all but I'm wondering about it's usage:
 
 James Almer (3):
   x86: add missing XOP checks and macros
   x86: add detection for FMA3 instruction set
 
 Which is the relationship between FMA3 and FMA4 ?
 

It's what happens when Intel and AMD don't talk to each other to coordinate 
stuff.
Short story summary here: https://en.wikipedia.org/wiki/FMA_instruction_set

Both sets do the same in essence. The only difference is that one uses three 
operands 
while the other uses four (Technically, FMA4 is the most flexible, but it's 
only 
supported by AMD).
AMD added FMA4 starting with Bulldozer, then added FMA3 as well to Piledriver 
for 
compatibility reasons once Intel revealed they would use that starting with 
Haswell.

   x86: add detection for Bit Manipulation Instruction sets
 
 Is BMI a subset of AVX2?

No, they are independent and work on general registers.
AMD added BMI1 starting with Piledriver, which doesn't support AVX2, whereas 
Intel 
added both BMI1 and BMI2 starting with Haswell.

 
 lu
 ___
 libav-devel mailing list
 libav-devel@libav.org
 https://lists.libav.org/mailman/listinfo/libav-devel
 

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


Re: [libav-devel] [PATCH 0/3] support for FMA3 and BMI intruction sets

2014-02-22 Thread Luca Barbato
On 22/02/14 17:42, James Almer wrote:
 On 22/02/14 1:29 PM, Luca Barbato wrote:
 On 22/02/14 06:53, James Almer wrote:
 These are the missing instruction sets introduced with Haswell/Piledriver 
 CPUs.

 Last two patches are based on x264 detection code.

 The set doesn't look bad at all but I'm wondering about it's usage:

 James Almer (3):
   x86: add missing XOP checks and macros
   x86: add detection for FMA3 instruction set

 Which is the relationship between FMA3 and FMA4 ?

 
 It's what happens when Intel and AMD don't talk to each other to coordinate 
 stuff.
 Short story summary here: https://en.wikipedia.org/wiki/FMA_instruction_set
 
 Both sets do the same in essence. The only difference is that one uses three 
 operands 
 while the other uses four (Technically, FMA4 is the most flexible, but it's 
 only 
 supported by AMD).
 AMD added FMA4 starting with Bulldozer, then added FMA3 as well to Piledriver 
 for 
 compatibility reasons once Intel revealed they would use that starting with 
 Haswell.
 
   x86: add detection for Bit Manipulation Instruction sets

 Is BMI a subset of AVX2?
 
 No, they are independent and work on general registers.
 AMD added BMI1 starting with Piledriver, which doesn't support AVX2, whereas 
 Intel 
 added both BMI1 and BMI2 starting with Haswell.
 

So complex as usual...

I'd let another day pass (hoping somebody else reads those and push them.

lu


___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


[libav-devel] [PATCH 0/3] support for FMA3 and BMI intruction sets

2014-02-21 Thread James Almer
These are the missing instruction sets introduced with Haswell/Piledriver CPUs.

Last two patches are based on x264 detection code.

James Almer (3):
  x86: add missing XOP checks and macros
  x86: add detection for FMA3 instruction set
  x86: add detection for Bit Manipulation Instruction sets

 configure   | 10 ++
 libavutil/cpu.c |  9 +
 libavutil/cpu.h |  3 +++
 libavutil/x86/cpu.c | 21 +++--
 libavutil/x86/cpu.h |  6 ++
 5 files changed, 43 insertions(+), 6 deletions(-)

-- 
1.8.3.2

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel