Skip to content
  • Benjamin Kramer's avatar
    X86: Turn fp selects into mask operations. · 5bc180c1
    Benjamin Kramer authored
    double test(double a, double b, double c, double d) { return a<b ? c : d; }
    
    before:
    _test:
    	ucomisd	%xmm0, %xmm1
    	ja	LBB0_2
    	movaps	%xmm3, %xmm2
    LBB0_2:
    	movaps	%xmm2, %xmm0
    
    after:
    _test:
    	cmpltsd	%xmm1, %xmm0
    	andpd	%xmm0, %xmm2
    	andnpd	%xmm3, %xmm0
    	orpd	%xmm2, %xmm0
    
    Small speedup on Benchmarks/SmallPT
    
    llvm-svn: 187706
    5bc180c1
Loading