@@ -79,6 +79,62 @@ define float @test_maximum(float %x, float %y) {
7979 ret float %val
8080}
8181
82+ define float @test_minimumnum (float %x , float %y ) {
83+ ; CHECK-LABEL: name: test_minimumnum
84+ ; CHECK: bb.1 (%ir-block.0):
85+ ; CHECK-NEXT: liveins: $s0, $s1
86+ ; CHECK-NEXT: {{ $}}
87+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0
88+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $s1
89+ ; CHECK-NEXT: [[FMINIMUMNUM:%[0-9]+]]:_(s32) = G_FMINIMUMNUM [[COPY]], [[COPY1]]
90+ ; CHECK-NEXT: $s0 = COPY [[FMINIMUMNUM]](s32)
91+ ; CHECK-NEXT: RET_ReallyLR implicit $s0
92+ %val = call float @llvm.minimumnum.f32 (float %x , float %y )
93+ ret float %val
94+ }
95+
96+ define float @test_minimumnum_nnan (float %x , float %y ) {
97+ ; CHECK-LABEL: name: test_minimumnum_nnan
98+ ; CHECK: bb.1 (%ir-block.0):
99+ ; CHECK-NEXT: liveins: $s0, $s1
100+ ; CHECK-NEXT: {{ $}}
101+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0
102+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $s1
103+ ; CHECK-NEXT: [[FMINIMUMNUM:%[0-9]+]]:_(s32) = nnan G_FMINIMUMNUM [[COPY]], [[COPY1]]
104+ ; CHECK-NEXT: $s0 = COPY [[FMINIMUMNUM]](s32)
105+ ; CHECK-NEXT: RET_ReallyLR implicit $s0
106+ %val = call nnan float @llvm.minimumnum.f32 (float %x , float %y )
107+ ret float %val
108+ }
109+
110+ define float @test_maximumnum (float %x , float %y ) {
111+ ; CHECK-LABEL: name: test_maximumnum
112+ ; CHECK: bb.1 (%ir-block.0):
113+ ; CHECK-NEXT: liveins: $s0, $s1
114+ ; CHECK-NEXT: {{ $}}
115+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0
116+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $s1
117+ ; CHECK-NEXT: [[FMAXIMUMNUM:%[0-9]+]]:_(s32) = G_FMAXIMUMNUM [[COPY]], [[COPY1]]
118+ ; CHECK-NEXT: $s0 = COPY [[FMAXIMUMNUM]](s32)
119+ ; CHECK-NEXT: RET_ReallyLR implicit $s0
120+ %val = call float @llvm.maximumnum.f32 (float %x , float %y )
121+ ret float %val
122+ }
123+
124+ define float @test_maximumnum_nnan (float %x , float %y ) {
125+ ; CHECK-LABEL: name: test_maximumnum_nnan
126+ ; CHECK: bb.1 (%ir-block.0):
127+ ; CHECK-NEXT: liveins: $s0, $s1
128+ ; CHECK-NEXT: {{ $}}
129+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0
130+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $s1
131+ ; CHECK-NEXT: [[FMAXIMUMNUM:%[0-9]+]]:_(s32) = nnan G_FMAXIMUMNUM [[COPY]], [[COPY1]]
132+ ; CHECK-NEXT: $s0 = COPY [[FMAXIMUMNUM]](s32)
133+ ; CHECK-NEXT: RET_ReallyLR implicit $s0
134+ %val = call nnan float @llvm.maximumnum.f32 (float %x , float %y )
135+ ret float %val
136+ }
137+
82138declare float @llvm.minnum.f32 (float , float ) #0
83139declare float @llvm.maxnum.f32 (float , float ) #0
84140
0 commit comments