@@ -5,6 +5,8 @@ declare <2 x double> @llvm.minnum.v2f64(<2 x double>, <2 x double>)
5
5
declare <2 x double > @llvm.maxnum.v2f64 (<2 x double >, <2 x double >)
6
6
declare <2 x double > @llvm.minimum.v2f64 (<2 x double >, <2 x double >)
7
7
declare <2 x double > @llvm.maximum.v2f64 (<2 x double >, <2 x double >)
8
+ declare <2 x double > @llvm.minimumnum.v2f64 (<2 x double >, <2 x double >)
9
+ declare <2 x double > @llvm.maximumnum.v2f64 (<2 x double >, <2 x double >)
8
10
9
11
; Constant folding - undef undef.
10
12
@@ -538,6 +540,38 @@ define <2 x double> @frem_undef_op0_constant_vec(<2 x double> %x) {
538
540
ret <2 x double > %r
539
541
}
540
542
543
+ define <2 x double > @maximumnum_nan_op0_vec_partial_poison_op1_poison (<2 x double > %x ) {
544
+ ; CHECK-LABEL: @maximumnum_nan_op0_vec_partial_poison_op1_poison(
545
+ ; CHECK-NEXT: ret <2 x double> <double 0x7FF8000000000000, double poison>
546
+ ;
547
+ %r = call <2 x double > @llvm.maximumnum.v2f64 (<2 x double > <double 0x7ff8000000000000 , double poison>, <2 x double > poison)
548
+ ret <2 x double > %r
549
+ }
550
+
551
+ define <2 x double > @maximumnum_nan_op1_vec_partial_poison_op0_poison (<2 x double > %x ) {
552
+ ; CHECK-LABEL: @maximumnum_nan_op1_vec_partial_poison_op0_poison(
553
+ ; CHECK-NEXT: ret <2 x double> <double 0x7FF8000000000000, double poison>
554
+ ;
555
+ %r = call <2 x double > @llvm.maximumnum.v2f64 (<2 x double > poison, <2 x double > <double 0x7ff8000000000000 , double poison>)
556
+ ret <2 x double > %r
557
+ }
558
+
559
+ define <2 x double > @minimumnum_nan_op0_vec_partial_poison_op1_poison (<2 x double > %x ) {
560
+ ; CHECK-LABEL: @minimumnum_nan_op0_vec_partial_poison_op1_poison(
561
+ ; CHECK-NEXT: ret <2 x double> <double 0x7FF8000000000000, double poison>
562
+ ;
563
+ %r = call <2 x double > @llvm.minimumnum.v2f64 (<2 x double > <double 0x7ff8000000000000 , double poison>, <2 x double > poison)
564
+ ret <2 x double > %r
565
+ }
566
+
567
+ define <2 x double > @minimumnum_nan_op1_vec_partial_poison_op0_poison (<2 x double > %x ) {
568
+ ; CHECK-LABEL: @minimumnum_nan_op1_vec_partial_poison_op0_poison(
569
+ ; CHECK-NEXT: ret <2 x double> <double 0x7FF8000000000000, double poison>
570
+ ;
571
+ %r = call <2 x double > @llvm.minimumnum.v2f64 (<2 x double > poison, <2 x double > <double 0x7ff8000000000000 , double poison>)
572
+ ret <2 x double > %r
573
+ }
574
+
541
575
define <2 x double > @maximum_nan_op0_vec_partial_undef_op1_undef (<2 x double > %x ) {
542
576
; CHECK-LABEL: @maximum_nan_op0_vec_partial_undef_op1_undef(
543
577
; CHECK-NEXT: ret <2 x double> <double 0x7FF8000000000000, double undef>
0 commit comments