[llvm] r332725 - [InstCombine] regenerate checks; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Fri May 18 08:22:19 PDT 2018


Author: spatel
Date: Fri May 18 08:22:19 2018
New Revision: 332725

URL: http://llvm.org/viewvc/llvm-project?rev=332725&view=rev
Log:
[InstCombine] regenerate checks; NFC

There were a combination of auto-generated styles in use
here because the scripts have evolved. 

Modified:
    llvm/trunk/test/Transforms/InstCombine/abs_abs.ll

Modified: llvm/trunk/test/Transforms/InstCombine/abs_abs.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/abs_abs.ll?rev=332725&r1=332724&r2=332725&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/abs_abs.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/abs_abs.ll Fri May 18 08:22:19 2018
@@ -1,6 +1,13 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt < %s -instcombine -S | FileCheck %s
 
 define i32 @abs_abs_x01(i32 %x) {
+; CHECK-LABEL: @abs_abs_x01(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -8,18 +15,13 @@ define i32 @abs_abs_x01(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x01(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define <2 x i32> @abs_abs_x01_vec(<2 x i32> %x) {
 ; CHECK-LABEL: @abs_abs_x01_vec(
-; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt <2 x i32> %x, <i32 -1, i32 -1>
-; CHECK-NEXT:    [[SUB:%.*]] = sub nsw <2 x i32> zeroinitializer, %x
-; CHECK-NEXT:    [[COND:%.*]] = select <2 x i1> [[CMP]], <2 x i32> %x, <2 x i32> [[SUB]]
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt <2 x i32> [[X:%.*]], <i32 -1, i32 -1>
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw <2 x i32> zeroinitializer, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select <2 x i1> [[CMP]], <2 x i32> [[X]], <2 x i32> [[SUB]]
 ; CHECK-NEXT:    ret <2 x i32> [[COND]]
 ;
   %cmp = icmp sgt <2 x i32> %x, <i32 -1, i32 -1>
@@ -32,6 +34,12 @@ define <2 x i32> @abs_abs_x01_vec(<2 x i
 }
 
 define i32 @abs_abs_x02(i32 %x) {
+; CHECK-LABEL: @abs_abs_x02(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -39,14 +47,15 @@ define i32 @abs_abs_x02(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x02(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x03(i32 %x) {
+; CHECK-LABEL: @abs_abs_x03(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -54,14 +63,15 @@ define i32 @abs_abs_x03(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x03(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x04(i32 %x) {
+; CHECK-LABEL: @abs_abs_x04(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -69,18 +79,13 @@ define i32 @abs_abs_x04(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x04(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define <2 x i32> @abs_abs_x04_vec(<2 x i32> %x) {
 ; CHECK-LABEL: @abs_abs_x04_vec(
-; CHECK-NEXT:    [[CMP:%.*]] = icmp slt <2 x i32> %x, <i32 1, i32 1>
-; CHECK-NEXT:    [[SUB:%.*]] = sub nsw <2 x i32> zeroinitializer, %x
-; CHECK-NEXT:    [[COND:%.*]] = select <2 x i1> [[CMP]], <2 x i32> [[SUB]], <2 x i32> %x
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt <2 x i32> [[X:%.*]], <i32 1, i32 1>
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw <2 x i32> zeroinitializer, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select <2 x i1> [[CMP]], <2 x i32> [[SUB]], <2 x i32> [[X]]
 ; CHECK-NEXT:    ret <2 x i32> [[COND]]
 ;
   %cmp = icmp slt <2 x i32> %x, <i32 1, i32 1>
@@ -93,6 +98,12 @@ define <2 x i32> @abs_abs_x04_vec(<2 x i
 }
 
 define i32 @abs_abs_x05(i32 %x) {
+; CHECK-LABEL: @abs_abs_x05(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -100,14 +111,15 @@ define i32 @abs_abs_x05(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x05(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x06(i32 %x) {
+; CHECK-LABEL: @abs_abs_x06(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -115,14 +127,15 @@ define i32 @abs_abs_x06(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x06(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x07(i32 %x) {
+; CHECK-LABEL: @abs_abs_x07(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -130,14 +143,15 @@ define i32 @abs_abs_x07(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x07(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x08(i32 %x) {
+; CHECK-LABEL: @abs_abs_x08(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -145,14 +159,15 @@ define i32 @abs_abs_x08(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x08(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x09(i32 %x) {
+; CHECK-LABEL: @abs_abs_x09(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -160,14 +175,15 @@ define i32 @abs_abs_x09(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x09(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x10(i32 %x) {
+; CHECK-LABEL: @abs_abs_x10(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -175,14 +191,15 @@ define i32 @abs_abs_x10(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x10(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x11(i32 %x) {
+; CHECK-LABEL: @abs_abs_x11(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -190,14 +207,15 @@ define i32 @abs_abs_x11(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x11(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x12(i32 %x) {
+; CHECK-LABEL: @abs_abs_x12(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -205,14 +223,15 @@ define i32 @abs_abs_x12(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x12(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x13(i32 %x) {
+; CHECK-LABEL: @abs_abs_x13(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -220,14 +239,15 @@ define i32 @abs_abs_x13(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x13(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x14(i32 %x) {
+; CHECK-LABEL: @abs_abs_x14(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -235,14 +255,15 @@ define i32 @abs_abs_x14(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x14(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x15(i32 %x) {
+; CHECK-LABEL: @abs_abs_x15(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -250,14 +271,15 @@ define i32 @abs_abs_x15(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x15(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_abs_x16(i32 %x) {
+; CHECK-LABEL: @abs_abs_x16(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -265,14 +287,15 @@ define i32 @abs_abs_x16(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_abs_x16(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x01(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x01(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -280,14 +303,15 @@ define i32 @nabs_nabs_x01(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x01(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x02(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x02(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -295,14 +319,15 @@ define i32 @nabs_nabs_x02(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x02(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x03(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x03(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -310,14 +335,15 @@ define i32 @nabs_nabs_x03(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x03(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x04(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x04(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -325,14 +351,15 @@ define i32 @nabs_nabs_x04(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x04(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x05(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x05(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -340,14 +367,15 @@ define i32 @nabs_nabs_x05(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x05(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x06(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x06(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -355,14 +383,15 @@ define i32 @nabs_nabs_x06(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x06(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x07(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x07(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -370,14 +399,15 @@ define i32 @nabs_nabs_x07(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x07(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x08(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x08(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -385,14 +415,15 @@ define i32 @nabs_nabs_x08(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x08(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x09(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x09(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -400,14 +431,15 @@ define i32 @nabs_nabs_x09(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x09(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x10(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x10(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -415,14 +447,15 @@ define i32 @nabs_nabs_x10(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x10(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x11(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x11(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -430,14 +463,15 @@ define i32 @nabs_nabs_x11(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x11(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x12(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x12(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -445,14 +479,15 @@ define i32 @nabs_nabs_x12(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x12(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x13(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x13(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -460,14 +495,15 @@ define i32 @nabs_nabs_x13(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x13(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x14(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x14(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -475,14 +511,15 @@ define i32 @nabs_nabs_x14(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x14(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x15(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x15(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -490,14 +527,15 @@ define i32 @nabs_nabs_x15(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x15(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_nabs_x16(i32 %x) {
+; CHECK-LABEL: @nabs_nabs_x16(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -505,14 +543,15 @@ define i32 @nabs_nabs_x16(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_nabs_x16(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x01(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x01(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -520,14 +559,15 @@ define i32 @abs_nabs_x01(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x01(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x02(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x02(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -535,14 +575,15 @@ define i32 @abs_nabs_x02(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x02(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x03(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x03(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -550,14 +591,15 @@ define i32 @abs_nabs_x03(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x03(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x04(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x04(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -565,14 +607,15 @@ define i32 @abs_nabs_x04(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x04(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x05(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x05(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -580,14 +623,15 @@ define i32 @abs_nabs_x05(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x05(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x06(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x06(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -595,14 +639,15 @@ define i32 @abs_nabs_x06(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x06(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x07(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x07(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -610,14 +655,15 @@ define i32 @abs_nabs_x07(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x07(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x08(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x08(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -625,14 +671,15 @@ define i32 @abs_nabs_x08(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x08(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x09(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x09(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -640,14 +687,15 @@ define i32 @abs_nabs_x09(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x09(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x10(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x10(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -655,14 +703,15 @@ define i32 @abs_nabs_x10(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x10(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x11(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x11(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -670,14 +719,15 @@ define i32 @abs_nabs_x11(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x11(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x12(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x12(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -685,14 +735,15 @@ define i32 @abs_nabs_x12(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x12(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x13(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x13(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -700,14 +751,15 @@ define i32 @abs_nabs_x13(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x13(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x14(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x14(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -715,14 +767,15 @@ define i32 @abs_nabs_x14(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x14(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x15(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x15(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -730,14 +783,15 @@ define i32 @abs_nabs_x15(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x15(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @abs_nabs_x16(i32 %x) {
+; CHECK-LABEL: @abs_nabs_x16(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -745,14 +799,15 @@ define i32 @abs_nabs_x16(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @abs_nabs_x16(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x01(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x01(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -760,14 +815,15 @@ define i32 @nabs_abs_x01(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x01(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x02(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x02(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -775,14 +831,15 @@ define i32 @nabs_abs_x02(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x02(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x03(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x03(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -790,14 +847,15 @@ define i32 @nabs_abs_x03(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x03(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x04(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x04(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -805,14 +863,15 @@ define i32 @nabs_abs_x04(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x04(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x05(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x05(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -820,14 +879,15 @@ define i32 @nabs_abs_x05(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x05(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x06(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x06(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -835,14 +895,15 @@ define i32 @nabs_abs_x06(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x06(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x07(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x07(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -850,14 +911,15 @@ define i32 @nabs_abs_x07(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x07(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x08(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x08(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -865,14 +927,15 @@ define i32 @nabs_abs_x08(i32 %x) {
   %sub9 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %sub9, i32 %cond
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x08(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x09(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x09(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -880,14 +943,15 @@ define i32 @nabs_abs_x09(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x09(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x10(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x10(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -895,14 +959,15 @@ define i32 @nabs_abs_x10(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x10(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x11(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x11(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -910,14 +975,15 @@ define i32 @nabs_abs_x11(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x11(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x12(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x12(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -925,14 +991,15 @@ define i32 @nabs_abs_x12(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x12(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x13(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x13(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], -1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, -1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -940,14 +1007,15 @@ define i32 @nabs_abs_x13(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x13(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, -1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x14(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x14(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 [[X]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp sgt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %x, i32 %sub
@@ -955,14 +1023,15 @@ define i32 @nabs_abs_x14(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x14(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp sgt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 [[NEG]], i32 %x
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x15(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x15(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 0
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 0
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -970,14 +1039,15 @@ define i32 @nabs_abs_x15(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x15(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 0
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
 
 define i32 @nabs_abs_x16(i32 %x) {
+; CHECK-LABEL: @nabs_abs_x16(
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 1
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 0, [[X]]
+; CHECK-NEXT:    [[COND1:%.*]] = select i1 [[CMP]], i32 [[X]], i32 [[SUB]]
+; CHECK-NEXT:    ret i32 [[COND1]]
+;
   %cmp = icmp slt i32 %x, 1
   %sub = sub nsw i32 0, %x
   %cond = select i1 %cmp, i32 %sub, i32 %x
@@ -985,9 +1055,5 @@ define i32 @nabs_abs_x16(i32 %x) {
   %sub16 = sub nsw i32 0, %cond
   %cond18 = select i1 %cmp1, i32 %cond, i32 %sub16
   ret i32 %cond18
-; CHECK-LABEL: @nabs_abs_x16(
-; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp slt i32 %x, 1
-; CHECK-NEXT: [[NEG:%[a-z0-9]+]] = sub nsw i32 0, %x
-; CHECK-NEXT: [[SEL:%[a-z0-9]+]] = select i1 [[CMP]], i32 %x, i32 [[NEG]]
-; CHECK-NEXT: ret i32 [[SEL]]
 }
+




More information about the llvm-commits mailing list