OLD | NEW |
1 ; Test encoding of MIPS32 arithmetic instructions | 1 ; Test encoding of MIPS32 arithmetic instructions |
2 | 2 |
3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
4 | 4 |
5 ; Compile using standalone assembler. | 5 ; Compile using standalone assembler. |
6 ; RUN: %p2i --filetype=asm -i %s --target=mips32 --args -O2 \ | 6 ; RUN: %p2i --filetype=asm -i %s --target=mips32 --args -O2 \ |
7 ; RUN: --allow-externally-defined-symbols --skip-unimplemented \ | 7 ; RUN: --allow-externally-defined-symbols --skip-unimplemented \ |
8 ; RUN: | FileCheck %s --check-prefix=ASM | 8 ; RUN: | FileCheck %s --check-prefix=ASM |
9 | 9 |
10 ; Show bytes in assembled standalone code. | 10 ; Show bytes in assembled standalone code. |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 ; IASM-NEXT: .byte 0x80 | 155 ; IASM-NEXT: .byte 0x80 |
156 ; IASM-NEXT: .byte 0x0 | 156 ; IASM-NEXT: .byte 0x0 |
157 ; IASM-NEXT: .byte 0x8 | 157 ; IASM-NEXT: .byte 0x8 |
158 ; IASM-NEXT: .byte 0x0 | 158 ; IASM-NEXT: .byte 0x0 |
159 ; IASM-NEXT: .byte 0xe0 | 159 ; IASM-NEXT: .byte 0xe0 |
160 ; IASM-NEXT: .byte 0x3 | 160 ; IASM-NEXT: .byte 0x3 |
161 ; IASM-NEXT: .byte 0x0 | 161 ; IASM-NEXT: .byte 0x0 |
162 ; IASM-NEXT: .byte 0x0 | 162 ; IASM-NEXT: .byte 0x0 |
163 ; IASM-NEXT: .byte 0x0 | 163 ; IASM-NEXT: .byte 0x0 |
164 ; IASM-NEXT: .byte 0x0 | 164 ; IASM-NEXT: .byte 0x0 |
| 165 |
| 166 define internal i32 @ashrImm(i32 %val, i32 %shift) { |
| 167 entry: |
| 168 %result = ashr i32 %val, %shift |
| 169 ret i32 %result |
| 170 } |
| 171 |
| 172 ; ASM-LABEL: ashrImm: |
| 173 ; ASM-NEXT: .LashrImm$entry: |
| 174 ; ASM-NEXT: srav $a0, $a0, $a1 |
| 175 ; ASM-NEXT: move $v0, $a0 |
| 176 ; ASM-NEXT: jr $ra |
| 177 |
| 178 ; DIS-LABEL: <ashrImm>: |
| 179 ; DIS-NEXT: 00a42007 srav a0,a0,a1 |
| 180 ; DIS-NEXT: 00801021 move v0,a0 |
| 181 ; DIS-NEXT: 03e00008 jr ra |
| 182 |
| 183 ; IASM-LABEL: ashrImm: |
| 184 ; IASM-NEXT: .LashrImm$entry: |
| 185 ; IASM-NEXT: .byte 0x7 |
| 186 ; IASM-NEXT: .byte 0x20 |
| 187 ; IASM-NEXT: .byte 0xa4 |
| 188 ; IASM-NEXT: .byte 0x0 |
| 189 ; IASM-NEXT: .byte 0x21 |
| 190 ; IASM-NEXT: .byte 0x10 |
| 191 ; IASM-NEXT: .byte 0x80 |
| 192 ; IASM-NEXT: .byte 0x0 |
| 193 ; IASM-NEXT: .byte 0x8 |
| 194 ; IASM-NEXT: .byte 0x0 |
| 195 ; IASM-NEXT: .byte 0xe0 |
| 196 ; IASM-NEXT: .byte 0x3 |
OLD | NEW |