xref: /aosp_15_r20/external/llvm/test/CodeGen/Hexagon/opt-fabs.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=hexagon-unknown-elf -mcpu=hexagonv5 -hexagon-bit=0 < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; Optimize fabsf to clrbit in V5.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}} = clrbit(r{{[0-9]+}}, #31)
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine float @my_fabsf(float %x) nounwind {
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker  %x.addr = alloca float, align 4
9*9880d681SAndroid Build Coastguard Worker  store float %x, float* %x.addr, align 4
10*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* %x.addr, align 4
11*9880d681SAndroid Build Coastguard Worker  %call = call float @fabsf(float %0) readnone
12*9880d681SAndroid Build Coastguard Worker  ret float %call
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdeclare float @fabsf(float)
16