Added VPERM optimization for AVX2 shuffles
[oota-llvm.git] / test / CodeGen / X86 / 2007-01-08-InstrSched.ll
index 69b08a1d76b2abe0afcf12b4e27e1bc9f9562461..24aa5b98d0bb8c8c9c3e39c4e359ff0925e43d52 100644 (file)
@@ -1,13 +1,22 @@
-; RUN: llvm-as < %s | llvm-as | llc -mtriple=x86_64-apple-darwin | \
-; RUN:   %prcontext 'mulss LCPI1_3' 1 | grep mulss | wc -l | grep 1
+; PR1075
+; RUN: llc < %s -mcpu=generic -mtriple=x86_64-apple-darwin -O3 | FileCheck %s
 
-define float %foo(float %x) {
-    %tmp1 = mul float %x, 3.000000e+00
-    %tmp3 = mul float %x, 5.000000e+00
-    %tmp5 = mul float %x, 7.000000e+00
-    %tmp7 = mul float %x, 1.100000e+01
-    %tmp10 = add float %tmp1, %tmp3
-    %tmp12 = add float %tmp10, %tmp5
-    %tmp14 = add float %tmp12, %tmp7
+define float @foo(float %x) nounwind {
+    %tmp1 = fmul float %x, 3.000000e+00
+    %tmp3 = fmul float %x, 5.000000e+00
+    %tmp5 = fmul float %x, 7.000000e+00
+    %tmp7 = fmul float %x, 1.100000e+01
+    %tmp10 = fadd float %tmp1, %tmp3
+    %tmp12 = fadd float %tmp10, %tmp5
+    %tmp14 = fadd float %tmp12, %tmp7
     ret float %tmp14
+
+; CHECK: mulss
+; CHECK: mulss
+; CHECK: addss
+; CHECK: mulss
+; CHECK: addss
+; CHECK: mulss
+; CHECK: addss
+; CHECK: ret
 }