@@ -8,8 +8,11 @@ target triple = "aarch64-unknown-linux-gnu"
8
8
define double @t1 (double %x ) {
9
9
; CHECK-LABEL: t1:
10
10
; CHECK: // %bb.0: // %entry
11
- ; CHECK-NEXT: fcvtzs x8, d0
12
- ; CHECK-NEXT: scvtf d0, x8
11
+ ; CHECK-NEXT: ptrue p0.d, vl1
12
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 def $z0
13
+ ; CHECK-NEXT: fcvtzs z0.d, p0/m, z0.d
14
+ ; CHECK-NEXT: scvtf z0.d, p0/m, z0.d
15
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
13
16
; CHECK-NEXT: ret
14
17
;
15
18
; USE-NEON-NO-GPRS-LABEL: t1:
@@ -26,8 +29,11 @@ entry:
26
29
define float @t2 (float %x ) {
27
30
; CHECK-LABEL: t2:
28
31
; CHECK: // %bb.0: // %entry
29
- ; CHECK-NEXT: fcvtzs w8, s0
30
- ; CHECK-NEXT: scvtf s0, w8
32
+ ; CHECK-NEXT: ptrue p0.s, vl1
33
+ ; CHECK-NEXT: // kill: def $s0 killed $s0 def $z0
34
+ ; CHECK-NEXT: fcvtzs z0.s, p0/m, z0.s
35
+ ; CHECK-NEXT: scvtf z0.s, p0/m, z0.s
36
+ ; CHECK-NEXT: // kill: def $s0 killed $s0 killed $z0
31
37
; CHECK-NEXT: ret
32
38
;
33
39
; USE-NEON-NO-GPRS-LABEL: t2:
@@ -44,10 +50,11 @@ entry:
44
50
define half @t3 (half %x ) {
45
51
; CHECK-LABEL: t3:
46
52
; CHECK: // %bb.0: // %entry
47
- ; CHECK-NEXT: fcvt s0, h0
48
- ; CHECK-NEXT: fcvtzs w8, s0
49
- ; CHECK-NEXT: scvtf s0, w8
50
- ; CHECK-NEXT: fcvt h0, s0
53
+ ; CHECK-NEXT: ptrue p0.h, vl1
54
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 def $z0
55
+ ; CHECK-NEXT: fcvtzs z0.h, p0/m, z0.h
56
+ ; CHECK-NEXT: scvtf z0.h, p0/m, z0.h
57
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 killed $z0
51
58
; CHECK-NEXT: ret
52
59
;
53
60
; USE-NEON-NO-GPRS-LABEL: t3:
@@ -66,8 +73,11 @@ entry:
66
73
define double @t4 (double %x ) {
67
74
; CHECK-LABEL: t4:
68
75
; CHECK: // %bb.0: // %entry
69
- ; CHECK-NEXT: fcvtzu x8, d0
70
- ; CHECK-NEXT: ucvtf d0, x8
76
+ ; CHECK-NEXT: ptrue p0.d, vl1
77
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 def $z0
78
+ ; CHECK-NEXT: fcvtzu z0.d, p0/m, z0.d
79
+ ; CHECK-NEXT: ucvtf z0.d, p0/m, z0.d
80
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
71
81
; CHECK-NEXT: ret
72
82
;
73
83
; USE-NEON-NO-GPRS-LABEL: t4:
@@ -84,8 +94,11 @@ entry:
84
94
define float @t5 (float %x ) {
85
95
; CHECK-LABEL: t5:
86
96
; CHECK: // %bb.0: // %entry
87
- ; CHECK-NEXT: fcvtzu w8, s0
88
- ; CHECK-NEXT: ucvtf s0, w8
97
+ ; CHECK-NEXT: ptrue p0.s, vl1
98
+ ; CHECK-NEXT: // kill: def $s0 killed $s0 def $z0
99
+ ; CHECK-NEXT: fcvtzu z0.s, p0/m, z0.s
100
+ ; CHECK-NEXT: ucvtf z0.s, p0/m, z0.s
101
+ ; CHECK-NEXT: // kill: def $s0 killed $s0 killed $z0
89
102
; CHECK-NEXT: ret
90
103
;
91
104
; USE-NEON-NO-GPRS-LABEL: t5:
@@ -102,10 +115,11 @@ entry:
102
115
define half @t6 (half %x ) {
103
116
; CHECK-LABEL: t6:
104
117
; CHECK: // %bb.0: // %entry
105
- ; CHECK-NEXT: fcvt s0, h0
106
- ; CHECK-NEXT: fcvtzu w8, s0
107
- ; CHECK-NEXT: ucvtf s0, w8
108
- ; CHECK-NEXT: fcvt h0, s0
118
+ ; CHECK-NEXT: ptrue p0.h, vl1
119
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 def $z0
120
+ ; CHECK-NEXT: fcvtzu z0.h, p0/m, z0.h
121
+ ; CHECK-NEXT: ucvtf z0.h, p0/m, z0.h
122
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 killed $z0
109
123
; CHECK-NEXT: ret
110
124
;
111
125
; USE-NEON-NO-GPRS-LABEL: t6:
0 commit comments