xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/scalar-min-max-fill-operand.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; CHECK-NOT:     {{(min|max|mov)}}
3*9880d681SAndroid Build Coastguard Worker; CHECK:     mov
4*9880d681SAndroid Build Coastguard Worker; CHECK-NOT:     {{(min|max|mov)}}
5*9880d681SAndroid Build Coastguard Worker; CHECK:     min
6*9880d681SAndroid Build Coastguard Worker; CHECK-NOT:     {{(min|max|mov)}}
7*9880d681SAndroid Build Coastguard Worker; CHECK:     mov
8*9880d681SAndroid Build Coastguard Worker; CHECK-NOT:     {{(min|max|mov)}}
9*9880d681SAndroid Build Coastguard Worker; CHECK:     max
10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT:     {{(min|max|mov)}}
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdeclare float @bar()
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerdefine float @foo(float %a) nounwind
15*9880d681SAndroid Build Coastguard Worker{
16*9880d681SAndroid Build Coastguard Worker  %s = call float @bar()
17*9880d681SAndroid Build Coastguard Worker  %t = fcmp olt float %s, %a
18*9880d681SAndroid Build Coastguard Worker  %u = select i1 %t, float %s, float %a
19*9880d681SAndroid Build Coastguard Worker  ret float %u
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Workerdefine float @hem(float %a) nounwind
22*9880d681SAndroid Build Coastguard Worker{
23*9880d681SAndroid Build Coastguard Worker  %s = call float @bar()
24*9880d681SAndroid Build Coastguard Worker  %t = fcmp ogt float %s, %a
25*9880d681SAndroid Build Coastguard Worker  %u = select i1 %t, float %s, float %a
26*9880d681SAndroid Build Coastguard Worker  ret float %u
27*9880d681SAndroid Build Coastguard Worker}
28