OLD | NEW |
1 ; This file tests casting / conversion operations that apply to vector types. | 1 ; This file tests casting / conversion operations that apply to vector types. |
2 ; bitcast operations are in vector-bitcast.ll. | 2 ; bitcast operations are in vector-bitcast.ll. |
3 | 3 |
4 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s | 4 ; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer |
5 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s | 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. |
| 7 |
6 ; RUN: %llvm2ice -O2 --verbose none %s \ | 8 ; RUN: %llvm2ice -O2 --verbose none %s \ |
7 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj | 9 ; RUN: | FileCheck --check-prefix=CALLTARGETS %s |
| 10 ; RUN: %llvm2ice -O2 --verbose none %s \ |
| 11 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ |
| 12 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
8 ; RUN: %llvm2ice -Om1 --verbose none %s \ | 13 ; RUN: %llvm2ice -Om1 --verbose none %s \ |
9 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj | 14 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ |
| 15 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
10 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 16 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
11 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 17 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
12 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 18 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
13 ; RUN: | FileCheck --check-prefix=DUMP %s | 19 ; RUN: | FileCheck --check-prefix=DUMP %s |
14 | 20 |
15 ; sext operations | 21 ; sext operations |
16 | 22 |
17 define <16 x i8> @test_sext_v16i1_to_v16i8(<16 x i1> %arg) { | 23 define <16 x i8> @test_sext_v16i1_to_v16i8(<16 x i1> %arg) { |
18 entry: | 24 entry: |
19 %res = sext <16 x i1> %arg to <16 x i8> | 25 %res = sext <16 x i1> %arg to <16 x i8> |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 ; CHECK-LABEL: test_fptosi_v4f32_to_v4i32: | 140 ; CHECK-LABEL: test_fptosi_v4f32_to_v4i32: |
135 ; CHECK: cvtps2dq | 141 ; CHECK: cvtps2dq |
136 } | 142 } |
137 | 143 |
138 define <4 x i32> @test_fptoui_v4f32_to_v4i32(<4 x float> %arg) { | 144 define <4 x i32> @test_fptoui_v4f32_to_v4i32(<4 x float> %arg) { |
139 entry: | 145 entry: |
140 %res = fptoui <4 x float> %arg to <4 x i32> | 146 %res = fptoui <4 x float> %arg to <4 x i32> |
141 ret <4 x i32> %res | 147 ret <4 x i32> %res |
142 | 148 |
143 ; CHECK-LABEL: test_fptoui_v4f32_to_v4i32: | 149 ; CHECK-LABEL: test_fptoui_v4f32_to_v4i32: |
144 ; CHECK: call Sz_fptoui_v4f32 | 150 ; CHECK: call -4 |
| 151 ; CALLTARGETS-LABEL: test_fptoui_v4f32_to_v4i32 |
| 152 ; CALLTARGETS: call Sz_fptoui_v4f32 |
145 } | 153 } |
146 | 154 |
147 ; [su]itofp operations | 155 ; [su]itofp operations |
148 | 156 |
149 define <4 x float> @test_sitofp_v4i32_to_v4f32(<4 x i32> %arg) { | 157 define <4 x float> @test_sitofp_v4i32_to_v4f32(<4 x i32> %arg) { |
150 entry: | 158 entry: |
151 %res = sitofp <4 x i32> %arg to <4 x float> | 159 %res = sitofp <4 x i32> %arg to <4 x float> |
152 ret <4 x float> %res | 160 ret <4 x float> %res |
153 | 161 |
154 ; CHECK-LABEL: test_sitofp_v4i32_to_v4f32: | 162 ; CHECK-LABEL: test_sitofp_v4i32_to_v4f32: |
155 ; CHECK: cvtdq2ps | 163 ; CHECK: cvtdq2ps |
156 } | 164 } |
157 | 165 |
158 define <4 x float> @test_uitofp_v4i32_to_v4f32(<4 x i32> %arg) { | 166 define <4 x float> @test_uitofp_v4i32_to_v4f32(<4 x i32> %arg) { |
159 entry: | 167 entry: |
160 %res = uitofp <4 x i32> %arg to <4 x float> | 168 %res = uitofp <4 x i32> %arg to <4 x float> |
161 ret <4 x float> %res | 169 ret <4 x float> %res |
162 | 170 |
163 ; CHECK-LABEL: test_uitofp_v4i32_to_v4f32: | 171 ; CHECK-LABEL: test_uitofp_v4i32_to_v4f32: |
164 ; CHECK: call Sz_uitofp_v4i32 | 172 ; CHECK: call -4 |
| 173 ; CALLTARGETS-LABEL: test_uitofp_v4i32_to_v4f32 |
| 174 ; CALLTARGETS: call Sz_uitofp_v4i32 |
165 } | 175 } |
166 | 176 |
167 ; ERRORS-NOT: ICE translation error | 177 ; ERRORS-NOT: ICE translation error |
168 ; DUMP-NOT: SZ | 178 ; DUMP-NOT: SZ |
OLD | NEW |