@@ -157,10 +157,10 @@ define i16 @stest_f64i16(double %x) {
157
157
; CHECK-LABEL: stest_f64i16:
158
158
; CHECK: // %bb.0: // %entry
159
159
; CHECK-NEXT: fcvtzs w8, d0
160
- ; CHECK-NEXT: mov w9, #32767
160
+ ; CHECK-NEXT: mov w9, #32767 // =0x7fff
161
161
; CHECK-NEXT: cmp w8, w9
162
162
; CHECK-NEXT: csel w8, w8, w9, lt
163
- ; CHECK-NEXT: mov w9, #-32768
163
+ ; CHECK-NEXT: mov w9, #-32768 // =0xffff8000
164
164
; CHECK-NEXT: cmn w8, #8, lsl #12 // =32768
165
165
; CHECK-NEXT: csel w0, w8, w9, gt
166
166
; CHECK-NEXT: ret
@@ -178,7 +178,7 @@ define i16 @utest_f64i16(double %x) {
178
178
; CHECK-LABEL: utest_f64i16:
179
179
; CHECK: // %bb.0: // %entry
180
180
; CHECK-NEXT: fcvtzu w8, d0
181
- ; CHECK-NEXT: mov w9, #65535
181
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
182
182
; CHECK-NEXT: cmp w8, w9
183
183
; CHECK-NEXT: csel w0, w8, w9, lo
184
184
; CHECK-NEXT: ret
@@ -194,7 +194,7 @@ define i16 @ustest_f64i16(double %x) {
194
194
; CHECK-LABEL: ustest_f64i16:
195
195
; CHECK: // %bb.0: // %entry
196
196
; CHECK-NEXT: fcvtzs w8, d0
197
- ; CHECK-NEXT: mov w9, #65535
197
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
198
198
; CHECK-NEXT: cmp w8, w9
199
199
; CHECK-NEXT: csel w8, w8, w9, lt
200
200
; CHECK-NEXT: bic w0, w8, w8, asr #31
@@ -213,10 +213,10 @@ define i16 @stest_f32i16(float %x) {
213
213
; CHECK-LABEL: stest_f32i16:
214
214
; CHECK: // %bb.0: // %entry
215
215
; CHECK-NEXT: fcvtzs w8, s0
216
- ; CHECK-NEXT: mov w9, #32767
216
+ ; CHECK-NEXT: mov w9, #32767 // =0x7fff
217
217
; CHECK-NEXT: cmp w8, w9
218
218
; CHECK-NEXT: csel w8, w8, w9, lt
219
- ; CHECK-NEXT: mov w9, #-32768
219
+ ; CHECK-NEXT: mov w9, #-32768 // =0xffff8000
220
220
; CHECK-NEXT: cmn w8, #8, lsl #12 // =32768
221
221
; CHECK-NEXT: csel w0, w8, w9, gt
222
222
; CHECK-NEXT: ret
@@ -234,7 +234,7 @@ define i16 @utest_f32i16(float %x) {
234
234
; CHECK-LABEL: utest_f32i16:
235
235
; CHECK: // %bb.0: // %entry
236
236
; CHECK-NEXT: fcvtzu w8, s0
237
- ; CHECK-NEXT: mov w9, #65535
237
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
238
238
; CHECK-NEXT: cmp w8, w9
239
239
; CHECK-NEXT: csel w0, w8, w9, lo
240
240
; CHECK-NEXT: ret
@@ -250,7 +250,7 @@ define i16 @ustest_f32i16(float %x) {
250
250
; CHECK-LABEL: ustest_f32i16:
251
251
; CHECK: // %bb.0: // %entry
252
252
; CHECK-NEXT: fcvtzs w8, s0
253
- ; CHECK-NEXT: mov w9, #65535
253
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
254
254
; CHECK-NEXT: cmp w8, w9
255
255
; CHECK-NEXT: csel w8, w8, w9, lt
256
256
; CHECK-NEXT: bic w0, w8, w8, asr #31
@@ -269,22 +269,22 @@ define i16 @stest_f16i16(half %x) {
269
269
; CHECK-CVT-LABEL: stest_f16i16:
270
270
; CHECK-CVT: // %bb.0: // %entry
271
271
; CHECK-CVT-NEXT: fcvt s0, h0
272
- ; CHECK-CVT-NEXT: mov w9, #32767
272
+ ; CHECK-CVT-NEXT: mov w9, #32767 // =0x7fff
273
273
; CHECK-CVT-NEXT: fcvtzs w8, s0
274
274
; CHECK-CVT-NEXT: cmp w8, w9
275
275
; CHECK-CVT-NEXT: csel w8, w8, w9, lt
276
- ; CHECK-CVT-NEXT: mov w9, #-32768
276
+ ; CHECK-CVT-NEXT: mov w9, #-32768 // =0xffff8000
277
277
; CHECK-CVT-NEXT: cmn w8, #8, lsl #12 // =32768
278
278
; CHECK-CVT-NEXT: csel w0, w8, w9, gt
279
279
; CHECK-CVT-NEXT: ret
280
280
;
281
281
; CHECK-FP16-LABEL: stest_f16i16:
282
282
; CHECK-FP16: // %bb.0: // %entry
283
283
; CHECK-FP16-NEXT: fcvtzs w8, h0
284
- ; CHECK-FP16-NEXT: mov w9, #32767
284
+ ; CHECK-FP16-NEXT: mov w9, #32767 // =0x7fff
285
285
; CHECK-FP16-NEXT: cmp w8, w9
286
286
; CHECK-FP16-NEXT: csel w8, w8, w9, lt
287
- ; CHECK-FP16-NEXT: mov w9, #-32768
287
+ ; CHECK-FP16-NEXT: mov w9, #-32768 // =0xffff8000
288
288
; CHECK-FP16-NEXT: cmn w8, #8, lsl #12 // =32768
289
289
; CHECK-FP16-NEXT: csel w0, w8, w9, gt
290
290
; CHECK-FP16-NEXT: ret
@@ -302,7 +302,7 @@ define i16 @utesth_f16i16(half %x) {
302
302
; CHECK-CVT-LABEL: utesth_f16i16:
303
303
; CHECK-CVT: // %bb.0: // %entry
304
304
; CHECK-CVT-NEXT: fcvt s0, h0
305
- ; CHECK-CVT-NEXT: mov w9, #65535
305
+ ; CHECK-CVT-NEXT: mov w9, #65535 // =0xffff
306
306
; CHECK-CVT-NEXT: fcvtzu w8, s0
307
307
; CHECK-CVT-NEXT: cmp w8, w9
308
308
; CHECK-CVT-NEXT: csel w0, w8, w9, lo
@@ -311,7 +311,7 @@ define i16 @utesth_f16i16(half %x) {
311
311
; CHECK-FP16-LABEL: utesth_f16i16:
312
312
; CHECK-FP16: // %bb.0: // %entry
313
313
; CHECK-FP16-NEXT: fcvtzu w8, h0
314
- ; CHECK-FP16-NEXT: mov w9, #65535
314
+ ; CHECK-FP16-NEXT: mov w9, #65535 // =0xffff
315
315
; CHECK-FP16-NEXT: cmp w8, w9
316
316
; CHECK-FP16-NEXT: csel w0, w8, w9, lo
317
317
; CHECK-FP16-NEXT: ret
@@ -327,7 +327,7 @@ define i16 @ustest_f16i16(half %x) {
327
327
; CHECK-CVT-LABEL: ustest_f16i16:
328
328
; CHECK-CVT: // %bb.0: // %entry
329
329
; CHECK-CVT-NEXT: fcvt s0, h0
330
- ; CHECK-CVT-NEXT: mov w9, #65535
330
+ ; CHECK-CVT-NEXT: mov w9, #65535 // =0xffff
331
331
; CHECK-CVT-NEXT: fcvtzs w8, s0
332
332
; CHECK-CVT-NEXT: cmp w8, w9
333
333
; CHECK-CVT-NEXT: csel w8, w8, w9, lt
@@ -337,7 +337,7 @@ define i16 @ustest_f16i16(half %x) {
337
337
; CHECK-FP16-LABEL: ustest_f16i16:
338
338
; CHECK-FP16: // %bb.0: // %entry
339
339
; CHECK-FP16-NEXT: fcvtzs w8, h0
340
- ; CHECK-FP16-NEXT: mov w9, #65535
340
+ ; CHECK-FP16-NEXT: mov w9, #65535 // =0xffff
341
341
; CHECK-FP16-NEXT: cmp w8, w9
342
342
; CHECK-FP16-NEXT: csel w8, w8, w9, lt
343
343
; CHECK-FP16-NEXT: bic w0, w8, w8, asr #31
@@ -679,10 +679,10 @@ define i16 @stest_f64i16_mm(double %x) {
679
679
; CHECK-LABEL: stest_f64i16_mm:
680
680
; CHECK: // %bb.0: // %entry
681
681
; CHECK-NEXT: fcvtzs w8, d0
682
- ; CHECK-NEXT: mov w9, #32767
682
+ ; CHECK-NEXT: mov w9, #32767 // =0x7fff
683
683
; CHECK-NEXT: cmp w8, w9
684
684
; CHECK-NEXT: csel w8, w8, w9, lt
685
- ; CHECK-NEXT: mov w9, #-32768
685
+ ; CHECK-NEXT: mov w9, #-32768 // =0xffff8000
686
686
; CHECK-NEXT: cmn w8, #8, lsl #12 // =32768
687
687
; CHECK-NEXT: csel w0, w8, w9, gt
688
688
; CHECK-NEXT: ret
@@ -698,7 +698,7 @@ define i16 @utest_f64i16_mm(double %x) {
698
698
; CHECK-LABEL: utest_f64i16_mm:
699
699
; CHECK: // %bb.0: // %entry
700
700
; CHECK-NEXT: fcvtzu w8, d0
701
- ; CHECK-NEXT: mov w9, #65535
701
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
702
702
; CHECK-NEXT: cmp w8, w9
703
703
; CHECK-NEXT: csel w0, w8, w9, lo
704
704
; CHECK-NEXT: ret
@@ -713,11 +713,10 @@ define i16 @ustest_f64i16_mm(double %x) {
713
713
; CHECK-LABEL: ustest_f64i16_mm:
714
714
; CHECK: // %bb.0: // %entry
715
715
; CHECK-NEXT: fcvtzs w8, d0
716
- ; CHECK-NEXT: mov w9, #65535
716
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
717
717
; CHECK-NEXT: cmp w8, w9
718
718
; CHECK-NEXT: csel w8, w8, w9, lt
719
- ; CHECK-NEXT: cmp w8, #0
720
- ; CHECK-NEXT: csel w0, w8, wzr, gt
719
+ ; CHECK-NEXT: bic w0, w8, w8, asr #31
721
720
; CHECK-NEXT: ret
722
721
entry:
723
722
%conv = fptosi double %x to i32
@@ -731,10 +730,10 @@ define i16 @stest_f32i16_mm(float %x) {
731
730
; CHECK-LABEL: stest_f32i16_mm:
732
731
; CHECK: // %bb.0: // %entry
733
732
; CHECK-NEXT: fcvtzs w8, s0
734
- ; CHECK-NEXT: mov w9, #32767
733
+ ; CHECK-NEXT: mov w9, #32767 // =0x7fff
735
734
; CHECK-NEXT: cmp w8, w9
736
735
; CHECK-NEXT: csel w8, w8, w9, lt
737
- ; CHECK-NEXT: mov w9, #-32768
736
+ ; CHECK-NEXT: mov w9, #-32768 // =0xffff8000
738
737
; CHECK-NEXT: cmn w8, #8, lsl #12 // =32768
739
738
; CHECK-NEXT: csel w0, w8, w9, gt
740
739
; CHECK-NEXT: ret
@@ -750,7 +749,7 @@ define i16 @utest_f32i16_mm(float %x) {
750
749
; CHECK-LABEL: utest_f32i16_mm:
751
750
; CHECK: // %bb.0: // %entry
752
751
; CHECK-NEXT: fcvtzu w8, s0
753
- ; CHECK-NEXT: mov w9, #65535
752
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
754
753
; CHECK-NEXT: cmp w8, w9
755
754
; CHECK-NEXT: csel w0, w8, w9, lo
756
755
; CHECK-NEXT: ret
@@ -765,11 +764,10 @@ define i16 @ustest_f32i16_mm(float %x) {
765
764
; CHECK-LABEL: ustest_f32i16_mm:
766
765
; CHECK: // %bb.0: // %entry
767
766
; CHECK-NEXT: fcvtzs w8, s0
768
- ; CHECK-NEXT: mov w9, #65535
767
+ ; CHECK-NEXT: mov w9, #65535 // =0xffff
769
768
; CHECK-NEXT: cmp w8, w9
770
769
; CHECK-NEXT: csel w8, w8, w9, lt
771
- ; CHECK-NEXT: cmp w8, #0
772
- ; CHECK-NEXT: csel w0, w8, wzr, gt
770
+ ; CHECK-NEXT: bic w0, w8, w8, asr #31
773
771
; CHECK-NEXT: ret
774
772
entry:
775
773
%conv = fptosi float %x to i32
@@ -783,22 +781,22 @@ define i16 @stest_f16i16_mm(half %x) {
783
781
; CHECK-CVT-LABEL: stest_f16i16_mm:
784
782
; CHECK-CVT: // %bb.0: // %entry
785
783
; CHECK-CVT-NEXT: fcvt s0, h0
786
- ; CHECK-CVT-NEXT: mov w9, #32767
784
+ ; CHECK-CVT-NEXT: mov w9, #32767 // =0x7fff
787
785
; CHECK-CVT-NEXT: fcvtzs w8, s0
788
786
; CHECK-CVT-NEXT: cmp w8, w9
789
787
; CHECK-CVT-NEXT: csel w8, w8, w9, lt
790
- ; CHECK-CVT-NEXT: mov w9, #-32768
788
+ ; CHECK-CVT-NEXT: mov w9, #-32768 // =0xffff8000
791
789
; CHECK-CVT-NEXT: cmn w8, #8, lsl #12 // =32768
792
790
; CHECK-CVT-NEXT: csel w0, w8, w9, gt
793
791
; CHECK-CVT-NEXT: ret
794
792
;
795
793
; CHECK-FP16-LABEL: stest_f16i16_mm:
796
794
; CHECK-FP16: // %bb.0: // %entry
797
795
; CHECK-FP16-NEXT: fcvtzs w8, h0
798
- ; CHECK-FP16-NEXT: mov w9, #32767
796
+ ; CHECK-FP16-NEXT: mov w9, #32767 // =0x7fff
799
797
; CHECK-FP16-NEXT: cmp w8, w9
800
798
; CHECK-FP16-NEXT: csel w8, w8, w9, lt
801
- ; CHECK-FP16-NEXT: mov w9, #-32768
799
+ ; CHECK-FP16-NEXT: mov w9, #-32768 // =0xffff8000
802
800
; CHECK-FP16-NEXT: cmn w8, #8, lsl #12 // =32768
803
801
; CHECK-FP16-NEXT: csel w0, w8, w9, gt
804
802
; CHECK-FP16-NEXT: ret
@@ -814,7 +812,7 @@ define i16 @utesth_f16i16_mm(half %x) {
814
812
; CHECK-CVT-LABEL: utesth_f16i16_mm:
815
813
; CHECK-CVT: // %bb.0: // %entry
816
814
; CHECK-CVT-NEXT: fcvt s0, h0
817
- ; CHECK-CVT-NEXT: mov w9, #65535
815
+ ; CHECK-CVT-NEXT: mov w9, #65535 // =0xffff
818
816
; CHECK-CVT-NEXT: fcvtzu w8, s0
819
817
; CHECK-CVT-NEXT: cmp w8, w9
820
818
; CHECK-CVT-NEXT: csel w0, w8, w9, lo
@@ -823,7 +821,7 @@ define i16 @utesth_f16i16_mm(half %x) {
823
821
; CHECK-FP16-LABEL: utesth_f16i16_mm:
824
822
; CHECK-FP16: // %bb.0: // %entry
825
823
; CHECK-FP16-NEXT: fcvtzu w8, h0
826
- ; CHECK-FP16-NEXT: mov w9, #65535
824
+ ; CHECK-FP16-NEXT: mov w9, #65535 // =0xffff
827
825
; CHECK-FP16-NEXT: cmp w8, w9
828
826
; CHECK-FP16-NEXT: csel w0, w8, w9, lo
829
827
; CHECK-FP16-NEXT: ret
@@ -838,22 +836,20 @@ define i16 @ustest_f16i16_mm(half %x) {
838
836
; CHECK-CVT-LABEL: ustest_f16i16_mm:
839
837
; CHECK-CVT: // %bb.0: // %entry
840
838
; CHECK-CVT-NEXT: fcvt s0, h0
841
- ; CHECK-CVT-NEXT: mov w9, #65535
839
+ ; CHECK-CVT-NEXT: mov w9, #65535 // =0xffff
842
840
; CHECK-CVT-NEXT: fcvtzs w8, s0
843
841
; CHECK-CVT-NEXT: cmp w8, w9
844
842
; CHECK-CVT-NEXT: csel w8, w8, w9, lt
845
- ; CHECK-CVT-NEXT: cmp w8, #0
846
- ; CHECK-CVT-NEXT: csel w0, w8, wzr, gt
843
+ ; CHECK-CVT-NEXT: bic w0, w8, w8, asr #31
847
844
; CHECK-CVT-NEXT: ret
848
845
;
849
846
; CHECK-FP16-LABEL: ustest_f16i16_mm:
850
847
; CHECK-FP16: // %bb.0: // %entry
851
848
; CHECK-FP16-NEXT: fcvtzs w8, h0
852
- ; CHECK-FP16-NEXT: mov w9, #65535
849
+ ; CHECK-FP16-NEXT: mov w9, #65535 // =0xffff
853
850
; CHECK-FP16-NEXT: cmp w8, w9
854
851
; CHECK-FP16-NEXT: csel w8, w8, w9, lt
855
- ; CHECK-FP16-NEXT: cmp w8, #0
856
- ; CHECK-FP16-NEXT: csel w0, w8, wzr, gt
852
+ ; CHECK-FP16-NEXT: bic w0, w8, w8, asr #31
857
853
; CHECK-FP16-NEXT: ret
858
854
entry:
859
855
%conv = fptosi half %x to i32
0 commit comments