1# RUN: llc -o - %s -mtriple=armv7s-- -run-pass=machine-cp | FileCheck %s
2---
3# Test that machine copy prop recognizes the implicit-def operands on a COPY
4# as clobbering the register.
5# CHECK-LABEL: name: func
6# CHECK: $d2 = VMOVv2i32 2, 14, $noreg
7# CHECK: $s5 = COPY $s0, implicit $q1, implicit-def $q1
8# CHECK: VST1q32 $r0, 0, $q1, 14, $noreg
9# The following two COPYs must not be removed
10# CHECK: $s4 = COPY $s20, implicit-def $q1
11# CHECK: $s5 = COPY $s0, implicit killed $d0, implicit $q1, implicit-def $q1
12# CHECK: VST1q32 $r2, 0, $q1, 14, $noreg
13name: func
14body: |
15  bb.0:
16    $d2 = VMOVv2i32 2, 14, $noreg
17    $s5 = COPY $s0, implicit $q1, implicit-def $q1
18    VST1q32 $r0, 0, $q1, 14, $noreg
19    $s4 = COPY $s20, implicit-def $q1
20    $s5 = COPY $s0, implicit killed $d0, implicit $q1, implicit-def $q1
21    VST1q32 $r2, 0, $q1, 14, $noreg
22...
23