OLD | NEW |
1 ; Tests various aspects of x86 opcode encodings. E.g., some opcodes like | 1 ; Tests various aspects of x86 opcode encodings. E.g., some opcodes like |
2 ; those for pmull vary more wildly depending on operand size (rather than | 2 ; those for pmull vary more wildly depending on operand size (rather than |
3 ; follow a usual pattern). | 3 ; follow a usual pattern). |
4 | 4 |
5 ; RUN: %p2i -i %s --args -O2 -mattr=sse4.1 -sandbox --verbose none \ | 5 ; RUN: %p2i -i %s --args -O2 -mattr=sse4.1 -sandbox --verbose none \ |
6 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 6 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
7 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s | 7 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
8 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
9 | 8 |
10 define <8 x i16> @test_mul_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { | 9 define <8 x i16> @test_mul_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
11 entry: | 10 entry: |
12 %res = mul <8 x i16> %arg0, %arg1 | 11 %res = mul <8 x i16> %arg0, %arg1 |
13 ret <8 x i16> %res | 12 ret <8 x i16> %res |
14 ; CHECK-LABEL: test_mul_v8i16 | 13 ; CHECK-LABEL: test_mul_v8i16 |
15 ; CHECK: 66 0f d5 c1 pmullw xmm0, xmm1 | 14 ; CHECK: 66 0f d5 c1 pmullw xmm0, xmm1 |
16 } | 15 } |
17 | 16 |
18 ; Test register and address mode encoding. | 17 ; Test register and address mode encoding. |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 three: | 285 three: |
287 %res3 = extractelement <8 x i16> %vec4, i32 7 | 286 %res3 = extractelement <8 x i16> %vec4, i32 7 |
288 %res3_ext = zext i16 %res3 to i32 | 287 %res3_ext = zext i16 %res3 to i32 |
289 ret i32 %res3_ext | 288 ret i32 %res3_ext |
290 } | 289 } |
291 ; CHECK-LABEL: test_pextrw | 290 ; CHECK-LABEL: test_pextrw |
292 ; CHECK-DAG: 66 0f c5 c0 00 pextrw eax, xmm0, 0 | 291 ; CHECK-DAG: 66 0f c5 c0 00 pextrw eax, xmm0, 0 |
293 ; CHECK-DAG: 66 0f c5 c1 02 pextrw eax, xmm1, 2 | 292 ; CHECK-DAG: 66 0f c5 c1 02 pextrw eax, xmm1, 2 |
294 ; CHECK-DAG: 66 0f c5 c2 05 pextrw eax, xmm2, 5 | 293 ; CHECK-DAG: 66 0f c5 c2 05 pextrw eax, xmm2, 5 |
295 ; CHECK-DAG: 66 0f c5 c3 07 pextrw eax, xmm3, 7 | 294 ; CHECK-DAG: 66 0f c5 c3 07 pextrw eax, xmm3, 7 |
296 | |
297 | |
298 ; ERRORS-NOT: ICE translation error | |
OLD | NEW |