Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 654a1f4

Browse files
committed
[X86] Use update_llc_test_checks.py to regenerate fast-isel-fptrunc-fpext.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316854 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 97768f7 commit 654a1f4

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed

test/CodeGen/X86/fast-isel-fptrunc-fpext.ll

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
12
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE
23
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=ALL --check-prefix=AVX
34
;
@@ -21,43 +22,63 @@
2122
; ///
2223

2324
define double @single_to_double_rr(float %x) {
24-
; ALL-LABEL: single_to_double_rr:
25-
; SSE-NOT: vcvtss2sd
26-
; AVX: vcvtss2sd %xmm0, %xmm0, %xmm0
27-
; ALL: ret
25+
; SSE-LABEL: single_to_double_rr:
26+
; SSE: # BB#0: # %entry
27+
; SSE-NEXT: cvtss2sd %xmm0, %xmm0
28+
; SSE-NEXT: retq
29+
;
30+
; AVX-LABEL: single_to_double_rr:
31+
; AVX: # BB#0: # %entry
32+
; AVX-NEXT: vcvtss2sd %xmm0, %xmm0, %xmm0
33+
; AVX-NEXT: retq
2834
entry:
2935
%conv = fpext float %x to double
3036
ret double %conv
3137
}
3238

3339
define float @double_to_single_rr(double %x) {
34-
; ALL-LABEL: double_to_single_rr:
35-
; SSE-NOT: vcvtsd2ss
36-
; AVX: vcvtsd2ss %xmm0, %xmm0, %xmm0
37-
; ALL: ret
40+
; SSE-LABEL: double_to_single_rr:
41+
; SSE: # BB#0: # %entry
42+
; SSE-NEXT: cvtsd2ss %xmm0, %xmm0
43+
; SSE-NEXT: retq
44+
;
45+
; AVX-LABEL: double_to_single_rr:
46+
; AVX: # BB#0: # %entry
47+
; AVX-NEXT: vcvtsd2ss %xmm0, %xmm0, %xmm0
48+
; AVX-NEXT: retq
3849
entry:
3950
%conv = fptrunc double %x to float
4051
ret float %conv
4152
}
4253

4354
define double @single_to_double_rm(float* %x) {
44-
; ALL-LABEL: single_to_double_rm:
45-
; SSE: cvtss2sd (%rdi), %xmm0
46-
; AVX: vmovss (%rdi), %xmm0
47-
; AVX-NEXT: vcvtss2sd %xmm0, %xmm0, %xmm0
48-
; ALL-NEXT: ret
55+
; SSE-LABEL: single_to_double_rm:
56+
; SSE: # BB#0: # %entry
57+
; SSE-NEXT: cvtss2sd (%rdi), %xmm0
58+
; SSE-NEXT: retq
59+
;
60+
; AVX-LABEL: single_to_double_rm:
61+
; AVX: # BB#0: # %entry
62+
; AVX-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
63+
; AVX-NEXT: vcvtss2sd %xmm0, %xmm0, %xmm0
64+
; AVX-NEXT: retq
4965
entry:
5066
%0 = load float, float* %x, align 4
5167
%conv = fpext float %0 to double
5268
ret double %conv
5369
}
5470

5571
define float @double_to_single_rm(double* %x) {
56-
; ALL-LABEL: double_to_single_rm:
57-
; SSE: cvtsd2ss (%rdi), %xmm0
58-
; AVX: vmovsd (%rdi), %xmm0
59-
; AVX-NEXT: vcvtsd2ss %xmm0, %xmm0, %xmm0
60-
; ALL-NEXT: ret
72+
; SSE-LABEL: double_to_single_rm:
73+
; SSE: # BB#0: # %entry
74+
; SSE-NEXT: cvtsd2ss (%rdi), %xmm0
75+
; SSE-NEXT: retq
76+
;
77+
; AVX-LABEL: double_to_single_rm:
78+
; AVX: # BB#0: # %entry
79+
; AVX-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
80+
; AVX-NEXT: vcvtsd2ss %xmm0, %xmm0, %xmm0
81+
; AVX-NEXT: retq
6182
entry:
6283
%0 = load double, double* %x, align 8
6384
%conv = fptrunc double %0 to float

0 commit comments

Comments
 (0)