|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
1 | 2 | ; RUN: llc -mtriple=x86_64-unknown-unknown -mcpu=generic -mattr=+sse2 -fast-isel --fast-isel-abort=1 < %s | FileCheck %s --check-prefix=ALL --check-prefix=SSE2 |
2 | 3 | ; RUN: llc -mtriple=x86_64-unknown-unknown -mcpu=generic -mattr=+avx -fast-isel --fast-isel-abort=1 < %s | FileCheck %s --check-prefix=ALL --check-prefix=AVX |
3 | 4 |
|
4 | 5 |
|
5 | 6 | define double @int_to_double_rr(i32 %a) { |
6 | | -; ALL-LABEL: int_to_double_rr: |
7 | | -; SSE2: cvtsi2sdl %edi, %xmm0 |
8 | | -; AVX: vcvtsi2sdl %edi, %xmm0, %xmm0 |
9 | | -; ALL-NEXT: ret |
| 7 | +; SSE2-LABEL: int_to_double_rr: |
| 8 | +; SSE2: # BB#0: # %entry |
| 9 | +; SSE2-NEXT: cvtsi2sdl %edi, %xmm0 |
| 10 | +; SSE2-NEXT: retq |
| 11 | +; |
| 12 | +; AVX-LABEL: int_to_double_rr: |
| 13 | +; AVX: # BB#0: # %entry |
| 14 | +; AVX-NEXT: vcvtsi2sdl %edi, %xmm0, %xmm0 |
| 15 | +; AVX-NEXT: retq |
10 | 16 | entry: |
11 | 17 | %0 = sitofp i32 %a to double |
12 | 18 | ret double %0 |
13 | 19 | } |
14 | 20 |
|
15 | 21 | define double @int_to_double_rm(i32* %a) { |
16 | | -; ALL-LABEL: int_to_double_rm: |
17 | | -; SSE2: cvtsi2sdl (%rdi), %xmm0 |
18 | | -; AVX: vcvtsi2sdl (%rdi), %xmm0, %xmm0 |
19 | | -; ALL-NEXT: ret |
| 22 | +; SSE2-LABEL: int_to_double_rm: |
| 23 | +; SSE2: # BB#0: # %entry |
| 24 | +; SSE2-NEXT: cvtsi2sdl (%rdi), %xmm0 |
| 25 | +; SSE2-NEXT: retq |
| 26 | +; |
| 27 | +; AVX-LABEL: int_to_double_rm: |
| 28 | +; AVX: # BB#0: # %entry |
| 29 | +; AVX-NEXT: vcvtsi2sdl (%rdi), %xmm0, %xmm0 |
| 30 | +; AVX-NEXT: retq |
20 | 31 | entry: |
21 | 32 | %0 = load i32, i32* %a |
22 | 33 | %1 = sitofp i32 %0 to double |
23 | 34 | ret double %1 |
24 | 35 | } |
25 | 36 |
|
26 | 37 | define float @int_to_float_rr(i32 %a) { |
27 | | -; ALL-LABEL: int_to_float_rr: |
28 | | -; SSE2: cvtsi2ssl %edi, %xmm0 |
29 | | -; AVX: vcvtsi2ssl %edi, %xmm0, %xmm0 |
30 | | -; ALL-NEXT: ret |
| 38 | +; SSE2-LABEL: int_to_float_rr: |
| 39 | +; SSE2: # BB#0: # %entry |
| 40 | +; SSE2-NEXT: cvtsi2ssl %edi, %xmm0 |
| 41 | +; SSE2-NEXT: retq |
| 42 | +; |
| 43 | +; AVX-LABEL: int_to_float_rr: |
| 44 | +; AVX: # BB#0: # %entry |
| 45 | +; AVX-NEXT: vcvtsi2ssl %edi, %xmm0, %xmm0 |
| 46 | +; AVX-NEXT: retq |
31 | 47 | entry: |
32 | 48 | %0 = sitofp i32 %a to float |
33 | 49 | ret float %0 |
34 | 50 | } |
35 | 51 |
|
36 | 52 | define float @int_to_float_rm(i32* %a) { |
37 | | -; ALL-LABEL: int_to_float_rm: |
38 | | -; SSE2: cvtsi2ssl (%rdi), %xmm0 |
39 | | -; AVX: vcvtsi2ssl (%rdi), %xmm0, %xmm0 |
40 | | -; ALL-NEXT: ret |
| 53 | +; SSE2-LABEL: int_to_float_rm: |
| 54 | +; SSE2: # BB#0: # %entry |
| 55 | +; SSE2-NEXT: cvtsi2ssl (%rdi), %xmm0 |
| 56 | +; SSE2-NEXT: retq |
| 57 | +; |
| 58 | +; AVX-LABEL: int_to_float_rm: |
| 59 | +; AVX: # BB#0: # %entry |
| 60 | +; AVX-NEXT: vcvtsi2ssl (%rdi), %xmm0, %xmm0 |
| 61 | +; AVX-NEXT: retq |
41 | 62 | entry: |
42 | 63 | %0 = load i32, i32* %a |
43 | 64 | %1 = sitofp i32 %0 to float |
|
0 commit comments