xref: /llvm-project/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/basic.ll (revision 240aff80e0e59b79779d046b3275904fc0750d59)
1; Example input for update_llc_test_checks (taken from CodeGen/X86/iabs.ll)
2; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86 --check-prefix=X86-NO-CMOV
3; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+cmov | FileCheck %s --check-prefix=X86 --check-prefix=X86-CMOV
4; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64
5
6define i8 @test_i8(i8 %a) nounwind {
7  %tmp1neg = sub i8 0, %a
8  %b = icmp sgt i8 %a, -1
9  %abs = select i1 %b, i8 %a, i8 %tmp1neg
10  ret i8 %abs
11}
12
13define i16 @test_i16(i16 %a) nounwind {
14  %tmp1neg = sub i16 0, %a
15  %b = icmp sgt i16 %a, -1
16  %abs = select i1 %b, i16 %a, i16 %tmp1neg
17  ret i16 %abs
18}
19
20define i32 @test_i32(i32 %a) nounwind {
21  %tmp1neg = sub i32 0, %a
22  %b = icmp sgt i32 %a, -1
23  %abs = select i1 %b, i32 %a, i32 %tmp1neg
24  ret i32 %abs
25}
26
27define i64 @test_i64(i64 %a) nounwind {
28  %tmp1neg = sub i64 0, %a
29  %b = icmp sgt i64 %a, -1
30  %abs = select i1 %b, i64 %a, i64 %tmp1neg
31  ret i64 %abs
32}
33