OLD | NEW |
1 ; This file tests bitcasts of vector type. For most operations, these | 1 ; This file tests bitcasts of vector type. For most operations, these |
2 ; should be lowered to a no-op on -O2. | 2 ; should be lowered to a no-op on -O2. |
3 | 3 |
4 ; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer | 4 ; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer |
5 ; doesn't know how to symbolize non-section-local functions. | 5 ; doesn't know how to symbolize non-section-local functions. |
6 ; The newer LLVM 3.6 one does work, but watch out for other bugs. | 6 ; The newer LLVM 3.6 one does work, but watch out for other bugs. |
7 | 7 |
8 ; RUN: %p2i -i %s --args -O2 --verbose none \ | 8 ; RUN: %p2i -i %s --args -O2 --verbose none \ |
9 ; RUN: | FileCheck --check-prefix=CALLTARGETS %s | 9 ; RUN: | FileCheck --check-prefix=CALLTARGETS %s |
10 ; RUN: %p2i -i %s --args -O2 --verbose none \ | 10 ; RUN: %p2i -i %s --args -O2 --verbose none \ |
11 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 11 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
12 ; RUN: | llvm-objdump -d -symbolize -x86-asm-syntax=intel - | FileCheck %s | 12 ; RUN: | llvm-objdump -d -symbolize -x86-asm-syntax=intel - | FileCheck %s |
13 ; RUN: %p2i -i %s --args -Om1 --verbose none \ | 13 ; RUN: %p2i -i %s --args -Om1 --verbose none \ |
14 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 14 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
15 ; RUN: | llvm-objdump -d -symbolize -x86-asm-syntax=intel - \ | 15 ; RUN: | llvm-objdump -d -symbolize -x86-asm-syntax=intel - \ |
16 ; RUN: | FileCheck --check-prefix=OPTM1 %s | 16 ; RUN: | FileCheck --check-prefix=OPTM1 %s |
17 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
18 ; RUN: %p2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s | |
19 | 17 |
20 define <16 x i8> @test_bitcast_v16i8_to_v16i8(<16 x i8> %arg) { | 18 define <16 x i8> @test_bitcast_v16i8_to_v16i8(<16 x i8> %arg) { |
21 entry: | 19 entry: |
22 %res = bitcast <16 x i8> %arg to <16 x i8> | 20 %res = bitcast <16 x i8> %arg to <16 x i8> |
23 ret <16 x i8> %res | 21 ret <16 x i8> %res |
24 | 22 |
25 ; CHECK-LABEL: test_bitcast_v16i8_to_v16i8 | 23 ; CHECK-LABEL: test_bitcast_v16i8_to_v16i8 |
26 ; CHECK-NEXT: ret | 24 ; CHECK-NEXT: ret |
27 } | 25 } |
28 | 26 |
(...skipping 182 matching lines...) Loading... |
211 ret <16 x i1> %res | 209 ret <16 x i1> %res |
212 | 210 |
213 ; CHECK-LABEL: test_bitcast_i16_to_v16i1: | 211 ; CHECK-LABEL: test_bitcast_i16_to_v16i1: |
214 ; CALLTARGETS-LABEL: test_bitcast_i16_to_v16i1 | 212 ; CALLTARGETS-LABEL: test_bitcast_i16_to_v16i1 |
215 ; CHECK: call -4 | 213 ; CHECK: call -4 |
216 ; CALLTARGETS: call Sz_bitcast_i16_to_v16i1 | 214 ; CALLTARGETS: call Sz_bitcast_i16_to_v16i1 |
217 | 215 |
218 ; OPTM1-LABEL: test_bitcast_i16_to_v16i1: | 216 ; OPTM1-LABEL: test_bitcast_i16_to_v16i1: |
219 ; OPTM1: call -4 | 217 ; OPTM1: call -4 |
220 } | 218 } |
221 | |
222 ; ERRORS-NOT: ICE translation error | |
223 ; DUMP-NOT: SZ | |
OLD | NEW |