aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/movtopush.mir
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2018-07-28 10:51:19 +0000
committerDimitry Andric <dim@FreeBSD.org>2018-07-28 10:51:19 +0000
commiteb11fae6d08f479c0799db45860a98af528fa6e7 (patch)
tree44d492a50c8c1a7eb8e2d17ea3360ec4d066f042 /test/CodeGen/X86/movtopush.mir
parentb8a2042aa938069e862750553db0e4d82d25822c (diff)
downloadsrc-eb11fae6d08f479c0799db45860a98af528fa6e7.tar.gz
src-eb11fae6d08f479c0799db45860a98af528fa6e7.zip
Vendor import of llvm trunk r338150:vendor/llvm/llvm-trunk-r338150
Notes
Notes: svn path=/vendor/llvm/dist/; revision=336809 svn path=/vendor/llvm/llvm-trunk-r338150/; revision=336814; tag=vendor/llvm/llvm-trunk-r338150
Diffstat (limited to 'test/CodeGen/X86/movtopush.mir')
-rw-r--r--test/CodeGen/X86/movtopush.mir89
1 files changed, 46 insertions, 43 deletions
diff --git a/test/CodeGen/X86/movtopush.mir b/test/CodeGen/X86/movtopush.mir
index 4c1dfc57627c..ea22cb5bb78e 100644
--- a/test/CodeGen/X86/movtopush.mir
+++ b/test/CodeGen/X86/movtopush.mir
@@ -33,25 +33,25 @@
...
---
# CHECK-LABEL: test9
-# CHECK: ADJCALLSTACKDOWN32 16, 0, 16, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
-# CHECK-NEXT: PUSH32i8 4, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32i8 3, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32i8 2, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32i8 1, implicit-def %esp, implicit %esp
-# CHECK-NEXT: CALLpcrel32 @good, csr_32, implicit %esp, implicit %ssp, implicit-def %esp, implicit-def %ssp
-# CHECK-NEXT: ADJCALLSTACKUP32 16, 0, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
-# CHECK-NEXT: ADJCALLSTACKDOWN32 20, 0, 20, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
-# CHECK-NEXT: %1:gr32 = MOV32rm %stack.2.s, 1, %noreg, 0, %noreg :: (load 4 from %stack.2.s, align 8)
-# CHECK-NEXT: %2:gr32 = MOV32rm %stack.2.s, 1, %noreg, 4, %noreg :: (load 4 from %stack.2.s + 4)
-# CHECK-NEXT: %4:gr32 = LEA32r %stack.0.p, 1, %noreg, 0, %noreg
-# CHECK-NEXT: %5:gr32 = LEA32r %stack.1.q, 1, %noreg, 0, %noreg
-# CHECK-NEXT: PUSH32r %4, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32r %5, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32i8 6, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32r %2, implicit-def %esp, implicit %esp
-# CHECK-NEXT: PUSH32r %1, implicit-def %esp, implicit %esp
-# CHECK-NEXT: CALLpcrel32 @struct, csr_32, implicit %esp, implicit %ssp, implicit-def %esp, implicit-def %ssp
-# CHECK-NEXT: ADJCALLSTACKUP32 20, 0, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
+# CHECK: ADJCALLSTACKDOWN32 16, 0, 16, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
+# CHECK-NEXT: PUSH32i8 4, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32i8 3, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32i8 2, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32i8 1, implicit-def $esp, implicit $esp
+# CHECK-NEXT: CALLpcrel32 @good, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp
+# CHECK-NEXT: ADJCALLSTACKUP32 16, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
+# CHECK-NEXT: ADJCALLSTACKDOWN32 20, 0, 20, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
+# CHECK-NEXT: %1:gr32 = MOV32rm %stack.2.s, 1, $noreg, 0, $noreg :: (load 4 from %stack.2.s, align 8)
+# CHECK-NEXT: %2:gr32 = MOV32rm %stack.2.s, 1, $noreg, 4, $noreg :: (load 4 from %stack.2.s + 4)
+# CHECK-NEXT: %4:gr32 = LEA32r %stack.0.p, 1, $noreg, 0, $noreg
+# CHECK-NEXT: %5:gr32 = LEA32r %stack.1.q, 1, $noreg, 0, $noreg
+# CHECK-NEXT: PUSH32r %4, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32r %5, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32i8 6, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32r %2, implicit-def $esp, implicit $esp
+# CHECK-NEXT: PUSH32r %1, implicit-def $esp, implicit $esp
+# CHECK-NEXT: CALLpcrel32 @struct, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp
+# CHECK-NEXT: ADJCALLSTACKUP32 20, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
# CHECK-NEXT: RET 0
name: test9
alignment: 0
@@ -89,37 +89,40 @@ fixedStack:
stack:
- { id: 0, name: p, type: default, offset: 0, size: 4, alignment: 4,
stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
- di-variable: '', di-expression: '', di-location: '' }
+ debug-info-variable: '', debug-info-expression: '',
+ debug-info-location: '' }
- { id: 1, name: q, type: default, offset: 0, size: 4, alignment: 4,
stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
- di-variable: '', di-expression: '', di-location: '' }
+ debug-info-variable: '', debug-info-expression: '',
+ debug-info-location: '' }
- { id: 2, name: s, type: default, offset: 0, size: 8, alignment: 8,
stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
- di-variable: '', di-expression: '', di-location: '' }
+ debug-info-variable: '', debug-info-expression: '',
+ debug-info-location: '' }
constants:
body: |
bb.0.entry:
- ADJCALLSTACKDOWN32 16, 0, 0, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
- %0 = COPY %esp
- MOV32mi %0, 1, %noreg, 12, %noreg, 4 :: (store 4 into stack + 12)
- MOV32mi %0, 1, %noreg, 8, %noreg, 3 :: (store 4 into stack + 8)
- MOV32mi %0, 1, %noreg, 4, %noreg, 2 :: (store 4 into stack + 4)
- MOV32mi %0, 1, %noreg, 0, %noreg, 1 :: (store 4 into stack)
- CALLpcrel32 @good, csr_32, implicit %esp, implicit %ssp, implicit-def %esp, implicit-def %ssp
- ADJCALLSTACKUP32 16, 0, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
- ADJCALLSTACKDOWN32 20, 0, 0, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
- %1 = MOV32rm %stack.2.s, 1, %noreg, 0, %noreg :: (load 4 from %stack.2.s, align 8)
- %2 = MOV32rm %stack.2.s, 1, %noreg, 4, %noreg :: (load 4 from %stack.2.s + 4)
- %3 = COPY %esp
- MOV32mr %3, 1, %noreg, 4, %noreg, killed %2 :: (store 4)
- MOV32mr %3, 1, %noreg, 0, %noreg, killed %1 :: (store 4)
- %4 = LEA32r %stack.0.p, 1, %noreg, 0, %noreg
- MOV32mr %3, 1, %noreg, 16, %noreg, killed %4 :: (store 4 into stack + 16)
- %5 = LEA32r %stack.1.q, 1, %noreg, 0, %noreg
- MOV32mr %3, 1, %noreg, 12, %noreg, killed %5 :: (store 4 into stack + 12)
- MOV32mi %3, 1, %noreg, 8, %noreg, 6 :: (store 4 into stack + 8)
- CALLpcrel32 @struct, csr_32, implicit %esp, implicit %ssp, implicit-def %esp, implicit-def %ssp,
- ADJCALLSTACKUP32 20, 0, implicit-def dead %esp, implicit-def dead %eflags, implicit-def dead %ssp, implicit %esp, implicit %ssp
+ ADJCALLSTACKDOWN32 16, 0, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
+ %0 = COPY $esp
+ MOV32mi %0, 1, $noreg, 12, $noreg, 4 :: (store 4 into stack + 12)
+ MOV32mi %0, 1, $noreg, 8, $noreg, 3 :: (store 4 into stack + 8)
+ MOV32mi %0, 1, $noreg, 4, $noreg, 2 :: (store 4 into stack + 4)
+ MOV32mi %0, 1, $noreg, 0, $noreg, 1 :: (store 4 into stack)
+ CALLpcrel32 @good, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp
+ ADJCALLSTACKUP32 16, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
+ ADJCALLSTACKDOWN32 20, 0, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
+ %1 = MOV32rm %stack.2.s, 1, $noreg, 0, $noreg :: (load 4 from %stack.2.s, align 8)
+ %2 = MOV32rm %stack.2.s, 1, $noreg, 4, $noreg :: (load 4 from %stack.2.s + 4)
+ %3 = COPY $esp
+ MOV32mr %3, 1, $noreg, 4, $noreg, killed %2 :: (store 4)
+ MOV32mr %3, 1, $noreg, 0, $noreg, killed %1 :: (store 4)
+ %4 = LEA32r %stack.0.p, 1, $noreg, 0, $noreg
+ MOV32mr %3, 1, $noreg, 16, $noreg, killed %4 :: (store 4 into stack + 16)
+ %5 = LEA32r %stack.1.q, 1, $noreg, 0, $noreg
+ MOV32mr %3, 1, $noreg, 12, $noreg, killed %5 :: (store 4 into stack + 12)
+ MOV32mi %3, 1, $noreg, 8, $noreg, 6 :: (store 4 into stack + 8)
+ CALLpcrel32 @struct, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp,
+ ADJCALLSTACKUP32 20, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
RET 0
...