Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / peephole-copy.mir
blobe24abf84d12a6f40d18b3d6ad3a3d85ced2d8d99
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
2 # RUN: llc -mtriple=i686-- -run-pass=peephole-opt %s -o - | FileCheck %s
3 --- |
4   define void @c() {
5   entry:
6     tail call void asm sideeffect "", "q,~{dirflag},~{fpsr},~{flags}"(i32 512)
7     tail call void asm sideeffect "", "q,~{dirflag},~{fpsr},~{flags}"(i32 512)
8     ret void
9   }
10 ...
11 ---
12 # In peephole optimization the modified COPY instruction should not cause
13 # compiler failure.
14 name: c
15 tracksRegLiveness: true
16 registers:
17   - { id: 0, class: gr32_abcd }
18   - { id: 1, class: gr32_abcd }
19   - { id: 2, class: gr32 }
21 body: |
22   bb.0:
23     ; CHECK-LABEL: name: c
24     ; CHECK: [[MOV32ri:%[0-9]+]]:gr32_abcd = MOV32ri 512
25     ; CHECK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, 2359305 /* reguse:GR32 */, [[MOV32ri]], 1 /* reguse */, implicit-def early-clobber $df
26     ; CHECK-NEXT: [[MOV32ri1:%[0-9]+]]:gr32_abcd = MOV32ri 512
27     ; CHECK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, 2359305 /* reguse:GR32 */, [[MOV32ri1]], 1 /* reguse */, implicit-def early-clobber $df
28     ; CHECK-NEXT: RET 0
29     %2 = MOV32ri 512
30     %0 = COPY %2
31     INLINEASM &"", 1 /* sideeffect attdialect */, 2359305 /* reguse:GR32_ABCD */, %0:gr32_abcd, 1 /* clobber */, implicit-def early-clobber $df
32     %1 = COPY %2
33     INLINEASM &"", 1 /* sideeffect attdialect */, 2359305 /* reguse:GR32_ABCD */, %1:gr32_abcd, 1 /* clobber */, implicit-def early-clobber $df
34     RET 0
35 ...