Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / GlobalISel / legalize-memop-scalar-64.mir
blob1eb082a074514afed7fb8f31b83855e4a0d279db
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -O0 -mtriple=x86_64-linux-gnu -run-pass=legalizer -o - %s | FileCheck -check-prefix=X64 %s
4 ---
5 name:            test_memop_s8tos32
6 alignment:       16
7 legalized:       false
8 regBankSelected: false
9 body:             |
10   bb.0:
11     ; X64-LABEL: name: test_memop_s8tos32
12     ; X64: [[DEF:%[0-9]+]]:_(p0) = IMPLICIT_DEF
13     ; X64: [[LOAD:%[0-9]+]]:_(s8) = G_LOAD [[DEF]](p0) :: (load (s1))
14     ; X64: [[LOAD1:%[0-9]+]]:_(s8) = G_LOAD [[DEF]](p0) :: (load (s8))
15     ; X64: [[LOAD2:%[0-9]+]]:_(s16) = G_LOAD [[DEF]](p0) :: (load (s16))
16     ; X64: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32))
17     ; X64: [[LOAD4:%[0-9]+]]:_(p0) = G_LOAD [[DEF]](p0) :: (load (p0))
18     ; X64: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 1
19     ; X64: [[AND:%[0-9]+]]:_(s8) = G_AND [[LOAD]], [[C]]
20     ; X64: G_STORE [[AND]](s8), [[DEF]](p0) :: (store (s1))
21     ; X64: G_STORE [[LOAD1]](s8), [[DEF]](p0) :: (store (s8))
22     ; X64: G_STORE [[LOAD2]](s16), [[DEF]](p0) :: (store (s16))
23     ; X64: G_STORE [[LOAD3]](s32), [[DEF]](p0) :: (store (s32))
24     ; X64: G_STORE [[LOAD4]](p0), [[DEF]](p0) :: (store (p0))
25     %0:_(p0) = IMPLICIT_DEF
26     %9:_(s1) = G_LOAD %0(p0) :: (load (s1))
27     %1:_(s8) = G_LOAD %0(p0) :: (load (s8))
28     %2:_(s16) = G_LOAD %0(p0) :: (load (s16))
29     %3:_(s32) = G_LOAD %0(p0) :: (load (s32))
30     %4:_(p0) = G_LOAD %0(p0) :: (load (p0))
32     G_STORE %9, %0 :: (store (s1))
33     G_STORE %1, %0 :: (store (s8))
34     G_STORE %2, %0 :: (store (s16))
35     G_STORE %3, %0 :: (store (s32))
36     G_STORE %4, %0 :: (store (p0))
37 ...
38 ---
39 name:            test_memop_s64
40 alignment:       16
41 legalized:       false
42 regBankSelected: false
43 liveins:
44 body:             |
45   bb.0:
47     ; X64-LABEL: name: test_memop_s64
48     ; X64: [[DEF:%[0-9]+]]:_(p0) = IMPLICIT_DEF
49     ; X64: [[LOAD:%[0-9]+]]:_(s64) = G_LOAD [[DEF]](p0) :: (load (s64))
50     ; X64: G_STORE [[LOAD]](s64), [[DEF]](p0) :: (store (s64))
51     %0:_(p0) = IMPLICIT_DEF
52     %1:_(s64) = G_LOAD %0 :: (load (s64))
54     G_STORE %1, %0 :: (store (s64))
56 ...