[ARM] Split large truncating MVE stores
[llvm-complete.git] / test / CodeGen / MIR / X86 / fixed-stack-memory-operands.mir
blobe2373089f1bd30040e8ce17a8ba9705eeec96aac
1 # RUN: llc -march=x86 -run-pass none -o - %s | FileCheck %s
2 # This test ensures that the MIR parser parses fixed stack memory operands
3 # correctly.
5 --- |
7   define i32 @test(i32 %a) #0 {
8   entry:
9     %b = alloca i32
10     store i32 %a, i32* %b
11     %c = load i32, i32* %b
12     ret i32 %c
13   }
15   attributes #0 = { "no-frame-pointer-elim"="false" }
17 ...
18 ---
19 name:            test
20 alignment:       16
21 tracksRegLiveness: true
22 frameInfo:
23   stackSize:       4
24   maxAlignment:    4
25 fixedStack:
26   - { id: 0, offset: 0, size: 4, alignment: 16, isImmutable: true }
27 stack:
28   - { id: 0, name: b, offset: -8, size: 4, alignment: 4 }
29 body: |
30   bb.0.entry:
31     frame-setup PUSH32r undef $eax, implicit-def $esp, implicit $esp
32     CFI_INSTRUCTION def_cfa_offset 8
33   ; CHECK: name: test
34   ; CHECK: $eax = MOV32rm $esp, 1, $noreg, 8, $noreg :: (load 4 from %fixed-stack.0, align 16)
35     $eax = MOV32rm $esp, 1, _, 8, _ :: (load 4 from %fixed-stack.0, align 16)
36     MOV32mr $esp, 1, _, 0, _, $eax :: (store 4 into %ir.b)
37     $edx = POP32r implicit-def $esp, implicit $esp
38     RETL $eax
39 ...