- 
                Notifications
    You must be signed in to change notification settings 
- Fork 8.2k
x86: add kconfigs and compiler flags for MMX and SSE* #31198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
        
          
                arch/x86/core/ia32/crt0.S
              
                Outdated
          
        
      There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is CONFIG_X86_SSE supposed to be a superset of all the configs like CONFIG_X86_SSE4A, for example?
Most of the asm code related to SSE applies to all SSE variants and also MMX since they are all using the same set of XMM registers
I don't think this will work if someone just selects CONFIG_X86_SSE4 for example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed to do select X86_SSE so CONFIG_X86_SSE is enabled when any SSE kconfig is enabled.
MMX registers overlay with FPU registers so only needs CONFIG_FPU.
95d70b0    to
    5157746      
    Compare
  
    5157746    to
    222722f      
    Compare
  
    It is possible to enable SSE without using SSE for floating point, so fix the compiler flags. Signed-off-by: Daniel Leung <[email protected]>
On x86, it is possible to use FPU (387) and SSE for floating point operations. So test both. Signed-off-by: Daniel Leung <[email protected]>
The app_kernel benchmarking app has the config file for benchmarking with floating point enabled, but it was never used. So add it to the testcase.yaml. Note that this also limits to run on one CPU on a SMP system as the resulting numbers would be more consistent among runs. Signed-off-by: Daniel Leung <[email protected]>
This adds X86 keyword to the kconfigs to indicate these are for x86. The old options are still there marked as deprecated. Signed-off-by: Daniel Leung <[email protected]>
This adds kconfigs and compiler flags to support MMX and SSE* instructions. Signed-off-by: Daniel Leung <[email protected]>
222722f    to
    d6faf57      
    Compare
  
    
This adds kconfigs and compiler flags to support MMX and SSE* instructions.