diff --git a/lib/Target/ARM/ARMLegalizerInfo.cpp b/lib/Target/ARM/ARMLegalizerInfo.cpp
index 0794e17..5427c7fc0 100644
--- a/lib/Target/ARM/ARMLegalizerInfo.cpp
+++ b/lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -138,6 +138,11 @@
               {s32, p0, 32, 8},
               {p0, p0, 32, 8}});
 
+  auto &PhiBuilder =
+      getActionDefinitionsBuilder(G_PHI)
+          .legalFor({s32, p0})
+          .minScalar(0, s32);
+
   getActionDefinitionsBuilder(G_GEP).legalFor({{p0, s32}});
 
   getActionDefinitionsBuilder(G_BRCOND).legalFor({s1});
@@ -172,11 +177,6 @@
         .clampScalar(0, s32, s32);
   }
 
-  // We're keeping these builders around because we'll want to add support for
-  // floating point to them.
-  auto &PhiBuilder =
-      getActionDefinitionsBuilder(G_PHI).legalFor({s32, p0}).minScalar(0, s32);
-
   if (!ST.useSoftFloat() && ST.hasVFP2()) {
     getActionDefinitionsBuilder(
         {G_FADD, G_FSUB, G_FMUL, G_FDIV, G_FCONSTANT, G_FNEG})
diff --git a/test/CodeGen/ARM/GlobalISel/arm-legalize-control-flow.mir b/test/CodeGen/ARM/GlobalISel/arm-legalize-control-flow.mir
index f3013fc..6065b77 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-legalize-control-flow.mir
+++ b/test/CodeGen/ARM/GlobalISel/arm-legalize-control-flow.mir
@@ -2,6 +2,10 @@
 # RUN: llc -mtriple thumb-- -mattr=+v6t2 -run-pass=legalizer %s -o - | FileCheck %s
 --- |
   define void @test_brcond() { ret void }
+
+  define void @test_phi_s32() { ret void }
+  define void @test_phi_p0() { ret void }
+  define void @test_phi_s8() { ret void }
 ...
 ---
 name:            test_brcond
@@ -37,3 +41,130 @@
     BX_RET 14, $noreg, implicit $r0
 
 ...
+---
+name:            test_phi_s32
+# CHECK-LABEL: name: test_phi_s32
+legalized:       false
+# CHECK: legalized: true
+regBankSelected: false
+selected:        false
+tracksRegLiveness: true
+registers:
+  - { id: 0, class: _ }
+  - { id: 1, class: _ }
+  - { id: 2, class: _ }
+  - { id: 3, class: _ }
+  - { id: 4, class: _ }
+body:             |
+  bb.0:
+    liveins: $r0, $r1, $r2
+
+    %0(s32) = COPY $r0
+    %1(s1) = G_TRUNC %0(s32)
+
+    %2(s32) = COPY $r1
+    %3(s32) = COPY $r2
+
+    G_BRCOND %1(s1), %bb.1
+    G_BR %bb.2
+
+  bb.1:
+    G_BR %bb.2
+
+  bb.2:
+    %4(s32) = G_PHI %2(s32), %bb.0, %3(s32), %bb.1
+    ; G_PHI with s32 is legal, so we should find it unchanged in the output
+    ; CHECK: G_PHI {{%[0-9]+}}(s32), %bb.0, {{%[0-9]+}}(s32), %bb.1
+    $r0 = COPY %4(s32)
+    BX_RET 14, $noreg, implicit $r0
+...
+---
+name:            test_phi_p0
+# CHECK-LABEL: name: test_phi_p0
+legalized:       false
+# CHECK: legalized: true
+regBankSelected: false
+selected:        false
+tracksRegLiveness: true
+registers:
+  - { id: 0, class: _ }
+  - { id: 1, class: _ }
+  - { id: 2, class: _ }
+  - { id: 3, class: _ }
+  - { id: 4, class: _ }
+body:             |
+  bb.0:
+    liveins: $r0, $r1, $r2
+
+    %0(s32) = COPY $r0
+    %1(s1) = G_TRUNC %0(s32)
+
+    %2(p0) = COPY $r1
+    %3(p0) = COPY $r2
+
+    G_BRCOND %1(s1), %bb.1
+    G_BR %bb.2
+
+  bb.1:
+    G_BR %bb.2
+
+  bb.2:
+    %4(p0) = G_PHI %2(p0), %bb.0, %3(p0), %bb.1
+    ; G_PHI with p0 is legal, so we should find it unchanged in the output
+    ; CHECK: G_PHI {{%[0-9]+}}(p0), %bb.0, {{%[0-9]+}}(p0), %bb.1
+    $r0 = COPY %4(p0)
+    BX_RET 14, $noreg, implicit $r0
+...
+---
+name:            test_phi_s8
+# CHECK-LABEL: name: test_phi_s8
+legalized:       false
+# CHECK: legalized: true
+regBankSelected: false
+selected:        false
+tracksRegLiveness: true
+registers:
+  - { id: 0, class: _ }
+  - { id: 1, class: _ }
+  - { id: 2, class: _ }
+  - { id: 3, class: _ }
+  - { id: 4, class: _ }
+  - { id: 5, class: _ }
+  - { id: 6, class: _ }
+  - { id: 7, class: _ }
+body:             |
+  bb.0:
+    liveins: $r0, $r1, $r2
+
+    %0(s32) = COPY $r0
+    %1(s1) = G_TRUNC %0(s32)
+
+    %2(s32) = COPY $r1
+    %3(s8) = G_TRUNC %2(s32)
+    ; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $r1
+
+    %4(s32) = COPY $r2
+    %5(s8) = G_TRUNC %4(s32)
+    ; CHECK: [[R2:%[0-9]+]]:_(s32) = COPY $r2
+
+    ; CHECK: [[V1:%[0-9]+]]:_(s32) = COPY [[R1]]
+
+    G_BRCOND %1(s1), %bb.1
+    G_BR %bb.2
+
+  bb.1:
+    ; CHECK: [[V2:%[0-9]+]]:_(s32) = COPY [[R2]]
+    G_BR %bb.2
+
+  bb.2:
+    %6(s8) = G_PHI %3(s8), %bb.0, %5(s8), %bb.1
+    ; G_PHI with s8 should widen, and all the truncs and exts should be combined
+    ; away into a bunch of redundant copies
+    ; CHECK: [[V:%[0-9]+]]:_(s32) = G_PHI [[V1]](s32), %bb.0, [[V2]](s32), %bb.1
+
+    %7(s32) = G_ANYEXT %6(s8)
+    $r0 = COPY %7(s32)
+    ; CHECK: [[R:%[0-9]+]]:_(s32) = COPY [[V]]
+    ; CHECK: $r0 = COPY [[R]](s32)
+    BX_RET 14, $noreg, implicit $r0
+...
diff --git a/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir b/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
index 3a0d0b6..36fc40e 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
+++ b/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
@@ -5,11 +5,7 @@
 
   define void @test_constants_s64() { ret void }
 
-
-  define void @test_phi_s32() { ret void }
-  define void @test_phi_p0() { ret void }
   define void @test_phi_s64() #0 { ret void }
-  define void @test_phi_s8() { ret void }
 
   @a_global = global i32 42
   define void @test_global_variable() { ret void }
@@ -104,80 +100,6 @@
     BX_RET 14, $noreg
 ...
 ---
-name:            test_phi_s32
-# CHECK-LABEL: name: test_phi_s32
-legalized:       false
-# CHECK: legalized: true
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: _ }
-  - { id: 1, class: _ }
-  - { id: 2, class: _ }
-  - { id: 3, class: _ }
-  - { id: 4, class: _ }
-body:             |
-  bb.0:
-    liveins: $r0, $r1, $r2
-
-    %0(s32) = COPY $r0
-    %1(s1) = G_TRUNC %0(s32)
-
-    %2(s32) = COPY $r1
-    %3(s32) = COPY $r2
-
-    G_BRCOND %1(s1), %bb.1
-    G_BR %bb.2
-
-  bb.1:
-    G_BR %bb.2
-
-  bb.2:
-    %4(s32) = G_PHI %2(s32), %bb.0, %3(s32), %bb.1
-    ; G_PHI with s32 is legal, so we should find it unchanged in the output
-    ; CHECK: G_PHI {{%[0-9]+}}(s32), %bb.0, {{%[0-9]+}}(s32), %bb.1
-    $r0 = COPY %4(s32)
-    BX_RET 14, $noreg, implicit $r0
-...
----
-name:            test_phi_p0
-# CHECK-LABEL: name: test_phi_p0
-legalized:       false
-# CHECK: legalized: true
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: _ }
-  - { id: 1, class: _ }
-  - { id: 2, class: _ }
-  - { id: 3, class: _ }
-  - { id: 4, class: _ }
-body:             |
-  bb.0:
-    liveins: $r0, $r1, $r2
-
-    %0(s32) = COPY $r0
-    %1(s1) = G_TRUNC %0(s32)
-
-    %2(p0) = COPY $r1
-    %3(p0) = COPY $r2
-
-    G_BRCOND %1(s1), %bb.1
-    G_BR %bb.2
-
-  bb.1:
-    G_BR %bb.2
-
-  bb.2:
-    %4(p0) = G_PHI %2(p0), %bb.0, %3(p0), %bb.1
-    ; G_PHI with p0 is legal, so we should find it unchanged in the output
-    ; CHECK: G_PHI {{%[0-9]+}}(p0), %bb.0, {{%[0-9]+}}(p0), %bb.1
-    $r0 = COPY %4(p0)
-    BX_RET 14, $noreg, implicit $r0
-...
----
 name:            test_phi_s64
 # CHECK-LABEL: name: test_phi_s64
 legalized:       false
@@ -216,59 +138,6 @@
     BX_RET 14, $noreg, implicit $d0
 ...
 ---
-name:            test_phi_s8
-# CHECK-LABEL: name: test_phi_s8
-legalized:       false
-# CHECK: legalized: true
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: _ }
-  - { id: 1, class: _ }
-  - { id: 2, class: _ }
-  - { id: 3, class: _ }
-  - { id: 4, class: _ }
-  - { id: 5, class: _ }
-  - { id: 6, class: _ }
-  - { id: 7, class: _ }
-body:             |
-  bb.0:
-    liveins: $r0, $r1, $r2
-
-    %0(s32) = COPY $r0
-    %1(s1) = G_TRUNC %0(s32)
-
-    %2(s32) = COPY $r1
-    %3(s8) = G_TRUNC %2(s32)
-    ; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $r1
-
-    %4(s32) = COPY $r2
-    %5(s8) = G_TRUNC %4(s32)
-    ; CHECK: [[R2:%[0-9]+]]:_(s32) = COPY $r2
-
-    ; CHECK: [[V1:%[0-9]+]]:_(s32) = COPY [[R1]]
-
-    G_BRCOND %1(s1), %bb.1
-    G_BR %bb.2
-
-  bb.1:
-    ; CHECK: [[V2:%[0-9]+]]:_(s32) = COPY [[R2]]
-    G_BR %bb.2
-
-  bb.2:
-    %6(s8) = G_PHI %3(s8), %bb.0, %5(s8), %bb.1
-    ; G_PHI with s8 should widen, and all the truncs and exts should be combined
-    ; away into a bunch of redundant copies
-    ; CHECK: [[V:%[0-9]+]]:_(s32) = G_PHI [[V1]](s32), %bb.0, [[V2]](s32), %bb.1
-
-    %7(s32) = G_ANYEXT %6(s8)
-    $r0 = COPY %7(s32)
-    ; CHECK: [[R:%[0-9]+]]:_(s32) = COPY [[V]]
-    ; CHECK: $r0 = COPY [[R]](s32)
-    BX_RET 14, $noreg, implicit $r0
-...
----
 name:            test_global_variable
 # CHECK-LABEL: name: test_global_variable
 legalized:       false
diff --git a/test/CodeGen/ARM/GlobalISel/thumb-select-phi.mir b/test/CodeGen/ARM/GlobalISel/thumb-select-phi.mir
new file mode 100644
index 0000000..916a893
--- /dev/null
+++ b/test/CodeGen/ARM/GlobalISel/thumb-select-phi.mir
@@ -0,0 +1,50 @@
+# RUN: llc -O0 -mtriple thumb-- -mattr=+v6t2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
+--- |
+  define void @test_phi_s32() { ret void }
+...
+---
+name:            test_phi_s32
+# CHECK-LABEL: name: test_phi_s32
+legalized:       true
+regBankSelected: true
+selected:        false
+# CHECK: selected: true
+tracksRegLiveness: true
+registers:
+  - { id: 0, class: gprb }
+  - { id: 1, class: gprb }
+  - { id: 2, class: gprb }
+  - { id: 3, class: gprb }
+  - { id: 4, class: gprb }
+body:             |
+  bb.0:
+  ; CHECK: [[BB1:bb.0]]:
+    successors: %bb.1(0x40000000), %bb.2(0x40000000)
+    liveins: $r0, $r1, $r2
+
+    %0(s32) = COPY $r0
+    %1(s1) = G_TRUNC %0(s32)
+
+    %2(s32) = COPY $r1
+    %3(s32) = COPY $r2
+    ; CHECK: [[V1:%[0-9]+]]:gpr = COPY $r1
+    ; CHECK: [[V2:%[0-9]+]]:gpr = COPY $r2
+
+    G_BRCOND %1(s1), %bb.1
+    G_BR %bb.2
+
+  bb.1:
+  ; CHECK: [[BB2:bb.1]]:
+    successors: %bb.2(0x80000000)
+
+    G_BR %bb.2
+    ; CHECK: B %bb.2
+
+  bb.2:
+  ; CHECK: bb.2
+    %4(s32) = G_PHI %2(s32), %bb.0, %3(s32), %bb.1
+    ; CHECK: {{%[0-9]+}}:gpr = PHI [[V1]], %[[BB1]], [[V2]], %[[BB2]]
+
+    $r0 = COPY %4(s32)
+    BX_RET 14, $noreg, implicit $r0
+...
