diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 10:51:19 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 10:51:19 +0000 |
commit | eb11fae6d08f479c0799db45860a98af528fa6e7 (patch) | |
tree | 44d492a50c8c1a7eb8e2d17ea3360ec4d066f042 /test/CodeGen/X86/movtopush.mir | |
parent | b8a2042aa938069e862750553db0e4d82d25822c (diff) | |
download | src-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.mir | 89 |
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 ... |