[llvm] r288844 - [X86] Prefer reduced width multiplication over pmulld on Silvermont

Joerg Sonnenberger via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 16 05:03:33 PST 2017


On Tue, Dec 06, 2016 at 07:35:21PM -0000, Zvi Rackover via llvm-commits wrote:
> Author: zvi
> Date: Tue Dec  6 13:35:20 2016
> New Revision: 288844
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=288844&view=rev
> Log:
> [X86] Prefer reduced width multiplication over pmulld on Silvermont


> Modified: llvm/trunk/lib/Target/X86/X86Subtarget.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Subtarget.cpp?rev=288844&r1=288843&r2=288844&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Tue Dec  6 13:35:20 2016
> @@ -228,6 +228,9 @@ void X86Subtarget::initSubtargetFeatures
>    else if (isTargetDarwin() || isTargetLinux() || isTargetSolaris() ||
>             isTargetKFreeBSD() || In64BitMode)
>      stackAlignment = 16;
> +
> +  assert((!isPMULLDSlow() || hasSSE41()) &&
> +         "Feature Slow PMULLD can only be set on a subtarget with SSE4.1");
>  }
>  
>  void X86Subtarget::initializeEnvironment() {

This assert seems to be overly aggressive. Doesn't it trigger with
-mcpu=native on certain old CPUs when also disabling SSE manually?
Do we need this assert? It would explain an assert reported to me on a
Celeron J1900.

Joerg


More information about the llvm-commits mailing list