Fix AVX512 vector sqrt assembly strings.
[oota-llvm.git] / test / CodeGen / X86 / zext-sext.ll
index 6432ae38ff3a4ed913e56119ad26f07a94ff2d54..5b2713dc6fc19a91ae2d9127140622a9c2b1143c 100644 (file)
@@ -1,8 +1,9 @@
-; XFAIL: *
-; ...should pass. See PR12324: misched bringup
-; RUN: llc < %s -march=x86-64 | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-linux-gnu -mcpu=atom | FileCheck %s
 ; <rdar://problem/8006248>
 
+; This randomly started passing after an unrelated change, if it fails again it
+; might be worth looking at PR12324: misched bringup.
+
 @llvm.used = appending global [1 x i8*] [i8* bitcast (void ([40 x i16]*, i32*, i16**, i64*)* @func to i8*)], section "llvm.metadata"
 
 define void @func([40 x i16]* %a, i32* %b, i16** %c, i64* %d) nounwind {
@@ -32,10 +33,12 @@ entry:
   %tmp11 = sext i32 %tmp4 to i64
   %tmp12 = add i64 %tmp11, 5089792279245435153
 
-; CHECK:      addl     $2138875574, %e[[REGISTER_zext:[a-z]+]]
-; CHECK-NEXT: movslq   %e[[REGISTER_zext]], [[REGISTER_tmp:%[a-z]+]]
-; CHECK:      movq     [[REGISTER_tmp]], [[REGISTER_sext:%[a-z]+]]
-; CHECK-NEXT: subq     %r[[REGISTER_zext]], [[REGISTER_sext]]
+; CHECK:      addl     $2138875574, %e[[REGISTER_zext:[a-z0-9]+]]
+; CHECK:      movslq   %e[[REGISTER_zext]], [[REGISTER_sext:%r[a-z0-9]+]]
+; CHECK:      cmpl     $-8608074, %e[[REGISTER_zext]]
+; CHECK-NOT:  [[REGISTER_zext]]
+; CHECK-DAG:  testl     %e[[REGISTER_zext]]
+; CHECK:      subq     %r[[REGISTER_zext]], [[REGISTER_sext]]
 
   %tmp13 = sub i64 %tmp12, 2138875574
   %tmp14 = zext i32 %tmp4 to i64