Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Side by Side Diff: tests_lit/assembler/arm32/branch-mult-fwd.ll

Issue 1415953007: Fixes LDR and STR instructions. Two types of mistakes were being made. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/IceTargetLoweringARM32.cpp ('k') | tests_lit/llvm2ice_tests/nacl-atomic-intrinsics.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; Test that we correctly fix multiple forward branches. 1 ; Test that we correctly fix multiple forward branches.
2 2
3 ; Compile using standalone assembler. 3 ; Compile using standalone assembler.
4 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \ 4 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \
5 ; RUN: | FileCheck %s --check-prefix=ASM 5 ; RUN: | FileCheck %s --check-prefix=ASM
6 6
7 ; Show bytes in assembled standalone code. 7 ; Show bytes in assembled standalone code.
8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ 8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \
9 ; RUN: --args -Om1 | FileCheck %s --check-prefix=DIS 9 ; RUN: --args -Om1 | FileCheck %s --check-prefix=DIS
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 ; IASM-NEXT: .byte 0x8d 50 ; IASM-NEXT: .byte 0x8d
51 ; IASM-NEXT: .byte 0xe5 51 ; IASM-NEXT: .byte 0xe5
52 52
53 %cmp = icmp slt i32 %a, %b 53 %cmp = icmp slt i32 %a, %b
54 54
55 ; ASM-NEXT: ldr r0, [sp, #8] 55 ; ASM-NEXT: ldr r0, [sp, #8]
56 ; ASM-NEXT: ldr r1, [sp, #4] 56 ; ASM-NEXT: ldr r1, [sp, #4]
57 ; ASM-NEXT: cmp r0, r1 57 ; ASM-NEXT: cmp r0, r1
58 ; ASM-NEXT: movge r0, #0 58 ; ASM-NEXT: movge r0, #0
59 ; ASM-NEXT: movlt r0, #1 59 ; ASM-NEXT: movlt r0, #1
60 ; ASM-NEXT: str r0, [sp] 60 ; ASM-NEXT: strb r0, [sp]
61 61
62 ; DIS-NEXT: c: e59d0008 62 ; DIS-NEXT: c: e59d0008
63 ; DIS-NEXT: 10: e59d1004 63 ; DIS-NEXT: 10: e59d1004
64 ; DIS-NEXT: 14: e1500001 64 ; DIS-NEXT: 14: e1500001
65 ; DIS-NEXT: 18: a3a00000 65 ; DIS-NEXT: 18: a3a00000
66 ; DIS-NEXT: 1c: b3a00001 66 ; DIS-NEXT: 1c: b3a00001
67 ; DIS-NEXT: 20: e58d0000 67 ; DIS-NEXT: 20: e5cd0000
68 68
69 ; IASM-NEXT: .byte 0x8 69 ; IASM-NEXT: .byte 0x8
70 ; IASM-NEXT: .byte 0x0 70 ; IASM-NEXT: .byte 0x0
71 ; IASM-NEXT: .byte 0x9d 71 ; IASM-NEXT: .byte 0x9d
72 ; IASM-NEXT: .byte 0xe5 72 ; IASM-NEXT: .byte 0xe5
73 73
74 ; IASM-NEXT: .byte 0x4 74 ; IASM-NEXT: .byte 0x4
75 ; IASM-NEXT: .byte 0x10 75 ; IASM-NEXT: .byte 0x10
76 ; IASM-NEXT: .byte 0x9d 76 ; IASM-NEXT: .byte 0x9d
77 ; IASM-NEXT: .byte 0xe5 77 ; IASM-NEXT: .byte 0xe5
78 78
79 ; IASM-NEXT: .byte 0x1 79 ; IASM-NEXT: .byte 0x1
80 ; IASM-NEXT: .byte 0x0 80 ; IASM-NEXT: .byte 0x0
81 ; IASM-NEXT: .byte 0x50 81 ; IASM-NEXT: .byte 0x50
82 ; IASM-NEXT: .byte 0xe1 82 ; IASM-NEXT: .byte 0xe1
83 83
84 ; IASM-NEXT: .byte 0x0 84 ; IASM-NEXT: .byte 0x0
85 ; IASM-NEXT: .byte 0x0 85 ; IASM-NEXT: .byte 0x0
86 ; IASM-NEXT: .byte 0xa0 86 ; IASM-NEXT: .byte 0xa0
87 ; IASM-NEXT: .byte 0xa3 87 ; IASM-NEXT: .byte 0xa3
88 88
89 ; IASM-NEXT: .byte 0x1 89 ; IASM-NEXT: .byte 0x1
90 ; IASM-NEXT: .byte 0x0 90 ; IASM-NEXT: .byte 0x0
91 ; IASM-NEXT: .byte 0xa0 91 ; IASM-NEXT: .byte 0xa0
92 ; IASM-NEXT: .byte 0xb3 92 ; IASM-NEXT: .byte 0xb3
93 93
94 ; IASM-NEXT: .byte 0x0 94 ; IASM-NEXT: strb r0, [sp]
95 ; IASM-NEXT: .byte 0x0
96 ; IASM-NEXT: .byte 0x8d
97 ; IASM-NEXT: .byte 0xe5
98 95
99 br i1 %cmp, label %then, label %else 96 br i1 %cmp, label %then, label %else
100 97
101 ; ASM-NEXT: ldr r0, [sp] 98 ; ASM-NEXT: ldrb r0, [sp]
102 ; ASM-NEXT: uxtb r0, r0 99 ; ASM-NEXT: uxtb r0, r0
103 ; ASM-NEXT: cmp r0, #0 100 ; ASM-NEXT: cmp r0, #0
104 ; ASM-NEXT: bne .Lmult_fwd_branches$then 101 ; ASM-NEXT: bne .Lmult_fwd_branches$then
105 ; ASM-NEXT: b .Lmult_fwd_branches$else 102 ; ASM-NEXT: b .Lmult_fwd_branches$else
106 103
107 ; DIS-NEXT: 24: e59d0000 104 ; DIS-NEXT: 24: e5dd0000
108 ; DIS-NEXT: 28: e6ef0070 105 ; DIS-NEXT: 28: e6ef0070
109 ; DIS-NEXT: 2c: e3500000 106 ; DIS-NEXT: 2c: e3500000
110 ; DIS-NEXT: 30: 1a000000 107 ; DIS-NEXT: 30: 1a000000
111 ; DIS-NEXT: 34: ea000000 108 ; DIS-NEXT: 34: ea000000
112 109
113 ; IASM-NEXT: ldr r0, [sp] 110 ; IASM-NEXT: ldrb r0, [sp]
114 ; IASM-NEXT: uxtb r0, r0 111 ; IASM-NEXT: uxtb r0, r0
115 112
116 ; IASM-NEXT: .byte 0x0 113 ; IASM-NEXT: .byte 0x0
117 ; IASM-NEXT: .byte 0x0 114 ; IASM-NEXT: .byte 0x0
118 ; IASM-NEXT: .byte 0x50 115 ; IASM-NEXT: .byte 0x50
119 ; IASM-NEXT: .byte 0xe3 116 ; IASM-NEXT: .byte 0xe3
120 117
121 ; IASM-NEXT: .byte 0x0 118 ; IASM-NEXT: .byte 0x0
122 ; IASM-NEXT: .byte 0x0 119 ; IASM-NEXT: .byte 0x0
123 ; IASM-NEXT: .byte 0x0 120 ; IASM-NEXT: .byte 0x0
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 ; IASM-NEXT: .byte 0xd0 170 ; IASM-NEXT: .byte 0xd0
174 ; IASM-NEXT: .byte 0x8d 171 ; IASM-NEXT: .byte 0x8d
175 ; IASM-NEXT: .byte 0xe2 172 ; IASM-NEXT: .byte 0xe2
176 173
177 ; IASM-NEXT: .byte 0x1e 174 ; IASM-NEXT: .byte 0x1e
178 ; IASM-NEXT: .byte 0xff 175 ; IASM-NEXT: .byte 0xff
179 ; IASM-NEXT: .byte 0x2f 176 ; IASM-NEXT: .byte 0x2f
180 ; IASM-NEXT: .byte 0xe1 177 ; IASM-NEXT: .byte 0xe1
181 178
182 } 179 }
OLDNEW
« no previous file with comments | « src/IceTargetLoweringARM32.cpp ('k') | tests_lit/llvm2ice_tests/nacl-atomic-intrinsics.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698