2017-02-04 10:27:20 +08:00
|
|
|
# RUN: llc -o - %s -mtriple=armv7s-- -run-pass=machine-cp | FileCheck %s
|
|
|
|
---
|
|
|
|
# Test that machine copy prop recognizes the implicit-def operands on a COPY
|
|
|
|
# as clobbering the register.
|
|
|
|
# CHECK-LABEL: name: func
|
2018-02-01 06:04:26 +08:00
|
|
|
# CHECK: $d2 = VMOVv2i32 2, 14, $noreg
|
|
|
|
# CHECK: $s5 = COPY $s0, implicit $q1, implicit-def $q1
|
|
|
|
# CHECK: VST1q32 $r0, 0, $q1, 14, $noreg
|
2017-02-04 10:27:20 +08:00
|
|
|
# The following two COPYs must not be removed
|
2018-02-01 06:04:26 +08:00
|
|
|
# CHECK: $s4 = COPY $s20, implicit-def $q1
|
|
|
|
# CHECK: $s5 = COPY $s0, implicit killed $d0, implicit $q1, implicit-def $q1
|
|
|
|
# CHECK: VST1q32 $r2, 0, $q1, 14, $noreg
|
2017-02-04 10:27:20 +08:00
|
|
|
name: func
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$d2 = VMOVv2i32 2, 14, $noreg
|
|
|
|
$s5 = COPY $s0, implicit $q1, implicit-def $q1
|
|
|
|
VST1q32 $r0, 0, $q1, 14, $noreg
|
|
|
|
$s4 = COPY $s20, implicit-def $q1
|
|
|
|
$s5 = COPY $s0, implicit killed $d0, implicit $q1, implicit-def $q1
|
|
|
|
VST1q32 $r2, 0, $q1, 14, $noreg
|
2017-02-04 10:27:20 +08:00
|
|
|
...
|