You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
define <2 x double> @llvm_cos_f64(<2 x double> %in) {
21
21
; CHECK-LABEL: define <2 x double> @llvm_cos_f64
@@ -424,6 +424,46 @@ define <vscale x 4 x float> @llvm_pow_vscale_f32(<vscale x 4 x float> %in, <vsca
424
424
ret <vscale x 4 x float> %1
425
425
}
426
426
427
+
define <2 x double> @frem_f64(<2 x double> %in) {
428
+
; CHECK-LABEL: define <2 x double> @frem_f64
429
+
; CHECK-SAME: (<2 x double> [[IN:%.*]]) {
430
+
; CHECK-NEXT: [[TMP1:%.*]] = call <2 x double> @armpl_vfmodq_f64(<2 x double> [[IN]], <2 x double> [[IN]])
431
+
; CHECK-NEXT: ret <2 x double> [[TMP1]]
432
+
;
433
+
%1= frem <2 x double> %in, %in
434
+
ret <2 x double> %1
435
+
}
436
+
437
+
define <4 x float> @frem_f32(<4 x float> %in) {
438
+
; CHECK-LABEL: define <4 x float> @frem_f32
439
+
; CHECK-SAME: (<4 x float> [[IN:%.*]]) {
440
+
; CHECK-NEXT: [[TMP1:%.*]] = call <4 x float> @armpl_vfmodq_f32(<4 x float> [[IN]], <4 x float> [[IN]])
441
+
; CHECK-NEXT: ret <4 x float> [[TMP1]]
442
+
;
443
+
%1= frem <4 x float> %in, %in
444
+
ret <4 x float> %1
445
+
}
446
+
447
+
define <vscale x 2 x double> @frem_vscale_f64(<vscale x 2 x double> %in) #0 {
448
+
; CHECK-LABEL: define <vscale x 2 x double> @frem_vscale_f64
449
+
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
450
+
; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 2 x double> @armpl_svfmod_f64_x(<vscale x 2 x double> [[IN]], <vscale x 2 x double> [[IN]], <vscale x 2 x i1> shufflevector (<vscale x 2 x i1> insertelement (<vscale x 2 x i1> poison, i1 true, i64 0), <vscale x 2 x i1> poison, <vscale x 2 x i32> zeroinitializer))
451
+
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
452
+
;
453
+
%1= frem <vscale x 2 x double> %in, %in
454
+
ret <vscale x 2 x double> %1
455
+
}
456
+
457
+
define <vscale x 4 x float> @frem_vscale_f32(<vscale x 4 x float> %in) #0 {
458
+
; CHECK-LABEL: define <vscale x 4 x float> @frem_vscale_f32
459
+
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
460
+
; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x float> @armpl_svfmod_f32_x(<vscale x 4 x float> [[IN]], <vscale x 4 x float> [[IN]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
define <vscale x 2 x double> @llvm_ceil_vscale_f64(<vscale x 2 x double> %in) {
10
10
; CHECK-LABEL: @llvm_ceil_vscale_f64(
@@ -384,6 +384,24 @@ define <vscale x 4 x float> @llvm_trunc_vscale_f32(<vscale x 4 x float> %in) {
384
384
ret <vscale x 4 x float> %1
385
385
}
386
386
387
+
define <vscale x 2 x double> @frem_f64(<vscale x 2 x double> %in) {
388
+
; CHECK-LABEL: @frem_f64(
389
+
; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 2 x double> @_ZGVsMxvv_fmod(<vscale x 2 x double> [[IN:%.*]], <vscale x 2 x double> [[IN]], <vscale x 2 x i1> shufflevector (<vscale x 2 x i1> insertelement (<vscale x 2 x i1> poison, i1 true, i64 0), <vscale x 2 x i1> poison, <vscale x 2 x i32> zeroinitializer))
390
+
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
391
+
;
392
+
%1= frem <vscale x 2 x double> %in, %in
393
+
ret <vscale x 2 x double> %1
394
+
}
395
+
396
+
define <vscale x 4 x float> @frem_f32(<vscale x 4 x float> %in) {
397
+
; CHECK-LABEL: @frem_f32(
398
+
; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x float> @_ZGVsMxvv_fmodf(<vscale x 4 x float> [[IN:%.*]], <vscale x 4 x float> [[IN]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
399
+
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
400
+
;
401
+
%1= frem <vscale x 4 x float> %in, %in
402
+
ret <vscale x 4 x float> %1
403
+
}
404
+
387
405
declare <vscale x 2 x double> @llvm.ceil.nxv2f64(<vscale x 2 x double>)
388
406
declare <vscale x 4 x float> @llvm.ceil.nxv4f32(<vscale x 4 x float>)
389
407
declare <vscale x 2 x double> @llvm.copysign.nxv2f64(<vscale x 2 x double>, <vscale x 2 x double>)
0 commit comments