xref: /aosp_15_r20/external/llvm/test/CodeGen/Hexagon/cext-valid-packet1.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=hexagon < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Check that the packetizer generates valid packets with constant
4*9880d681SAndroid Build Coastguard Worker; extended instructions.
5*9880d681SAndroid Build Coastguard Worker; CHECK: {
6*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: r{{[0-9]+}}{{ *}}={{ *}}add(r{{[0-9]+}}, ##{{[0-9]+}})
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: r{{[0-9]+}}{{ *}}={{ *}}add(r{{[0-9]+}}, ##{{[0-9]+}})
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: }
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine i32 @check-packet1(i32 %a, i32 %b, i32 %c) nounwind readnone {
11*9880d681SAndroid Build Coastguard Workerentry:
12*9880d681SAndroid Build Coastguard Worker  %add = add nsw i32 %a, 200000
13*9880d681SAndroid Build Coastguard Worker  %add1 = add nsw i32 %b, 200001
14*9880d681SAndroid Build Coastguard Worker  %add2 = add nsw i32 %c, 200002
15*9880d681SAndroid Build Coastguard Worker  %cmp = icmp sgt i32 %add, %add1
16*9880d681SAndroid Build Coastguard Worker  %b.addr.0 = select i1 %cmp, i32 %add1, i32 %add2
17*9880d681SAndroid Build Coastguard Worker  ret i32 %b.addr.0
18*9880d681SAndroid Build Coastguard Worker}
19